[php] Post verliest gegevens

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Beste mensen..

na lang speuren op het internet ben ik er nog niet uit gekomen..
veel topics komen wel in de buurt maar hebben tot nu toe geen uitkomst gebracht.

Ik zit namelijk met hetvolgende probleem:

Ik heb 9 invoer velden van hetvolgende type:
<input type="text" name="naam" size="40" style="font-size: 8 pt" value=<?=$naam?>>

Als er een foutieve invoer is, wordt invoer.php weer geinclude.
en de gegevens al in de textbox geplaats.
als er bij naam een voor en achternaam is ingevuld (met spatie) dan wordt
alleen de voornaam terug in de textbox geplaatst,

als alle 9 invoer velden goed zijn ingevuld komt alles goed op het scherm!

In php.ini heb ik post_max_size aangepast van 8M naar 80M
dit was geen oplossing.

bij de invoer van 4 textboxen gaat het ook nog goed.

wie kan mij hiermee helpen..
alvast bedankt ludowski

Acties:
  • 0 Henk 'm!

Verwijderd

<?= $naam ?> zal waarschijnlijk <?= $_POST["naam"]; ?> moeten gaan worden....

[edit]

ligt dus eigenlijk aan het verhaal van de globale variabele; daarnaast moet je eigenlijk altijd $_POST["naam"] gebruiken en mag je er niet vanuit gaan dat je $naam kan gebruiken. Dat is gewoon erg vies werken....

[ Voor 65% gewijzigd door Verwijderd op 20-07-2004 12:07 ]


Acties:
  • 0 Henk 'm!

  • R_W
  • Registratie: Oktober 2002
  • Niet online

R_W

<input type="text" name="naam" size="40" style="font-size: 8 pt" value="<?=$naam?>">

B)

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Zoek eens op Google naar register_globals, dan kom je er wel uit... Of hier in de FAQ is er ook een heel hoofdstuk aan gewijd...

$_POST["naam"] dus ipv. $naam, maar dat zei Sooterd dus al.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Vooraf worden de gegevens al opgehaald.

$naam = $_POST["naam"];

en dan volgt er een controle of de velden juist zijn ingevuld.
als er dan op een van de velden een fout is opgetreden word invoer.php
geinclude.

na het verzenden gaat het formulier naar invoer2.php
waar de gegevens worden gecontroleerd

Acties:
  • 0 Henk 'm!

  • R_W
  • Registratie: Oktober 2002
  • Niet online

R_W

als er bij naam een voor en achternaam is ingevuld (met spatie) dan wordt
alleen de voornaam terug in de textbox geplaatst,
Het zal dus wel niets met register_globals te maken hebben, aangezien hij wel het eerste deel tot aan de spatie ge'echod krijgt.

Acties:
  • 0 Henk 'm!

  • JeRa
  • Registratie: Juni 2003
  • Laatst online: 30-04 10:28

JeRa

Authentic

Behalve dat, is het misschien nog het netst om het zo te doen:

$naam = stripslashes($_POST['naam']); //alleen als magic_quotes_gpc op on staat
...
value="<?=htmlentities($naam)?>"

ifconfig eth0 down


Acties:
  • 0 Henk 'm!

Verwijderd

je kan je variabele $naam niet overhevelen naar een include bestand; probeer eens $_POST["naam"] Dan is dat in ieder geval duidelijk en kunnen we wat meer uitsluiten :)

[offtopic]
TF ganger R_W :) ???

Acties:
  • 0 Henk 'm!

  • Shedman
  • Registratie: November 2000
  • Laatst online: 05-07 15:38

Shedman

Met het hart op de goede plek

Volgens mij moet je de waarde echo'en, anders werkt het inderdaad niet:

value="<?= echo( $naam ); ?>"

Of wacht ... ik ben zeker zo'n druif die het altijd zonder = doet ;)

[ Voor 46% gewijzigd door Shedman op 20-07-2004 12:16 ]

Hier stonden al heel lang linkjes naar sites die het allang niet meer deden ...


Acties:
  • 0 Henk 'm!

Verwijderd

<?= $_POST["naam"]; ?>

is gelijk aan

<? echo $_POST["naam"]; ?>

Acties:
  • 0 Henk 'm!

  • Shadowman
  • Registratie: Januari 2002
  • Niet online
Verwijderd schreef op 20 juli 2004 @ 12:14:
je kan je variabele $naam niet overhevelen naar een include bestand; probeer eens $_POST["naam"] Dan is dat in ieder geval duidelijk en kunnen we wat meer uitsluiten :)

[offtopic]
TF ganger R_W :) ???
Mja dat zou dan toch niet verklaren dat het wel voor de helft werkt? (edit: en anders kun je eventueel nog wel global $naam; gebruiken om de variabelen goed te gebruiken)

@TS:
print_r($_POST); < geeft die bij de aankomst van de gegevens wel alles goed weer? Lees je het toevallig op een andere manier uit als alles is ingevuld?

[ Voor 11% gewijzigd door Shadowman op 20-07-2004 12:19 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Dat alleen de voornaam wordt geprint bij het aanwezig zijn van een spatie, ligt aan de quote's die je om de value heen moet zetten. Zoals R_W al aangaf...

[ Voor 11% gewijzigd door Verwijderd op 20-07-2004 12:22 ]


Acties:
  • 0 Henk 'm!

  • R_W
  • Registratie: Oktober 2002
  • Niet online

R_W

Kijk 'ns naar mijn eerste post... Als je de startpost goed leest kun je meteen de conclusie trekken dat dat het probleem is, als je een spatie invoert krijg je bij je code dit:
<input type="text" value=piet klaassen>

Dan wordt natuurlijk alleen 'piet' weergegeven. Je moet dus gewoon quotes gebruiken.

[offtopic]
Ik idle wel ns op TF ja ;)

Acties:
  • 0 Henk 'm!

Verwijderd

Verander in :
<input type="text" name="naam" size="40" style="font-size: 8 pt" value=<?=$naam?>>

eens in

<input type="text" name="naam" size="40" style="font-size: 8 pt" value="<?=$naam?>">

Als de variable niet tussen quotes staat wordt alleen het gedeelte tot de spatie verstuurd.
Met quotes worden de spaties vervangen door html karakters (spatie=%20)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
met dank aan jullie allemaal !!

het moest idd die value="<?=$naam?>" zijn

Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op 20 juli 2004 @ 12:29:
met dank aan jullie allemaal !!

het moest idd die value="<?=$naam?>" zijn
Gelukkig doe ik dat nou nooit fout ;-)

Tipje:

Als je nou Mozilla of Firefox gebruikt om je scripts/HTML te testen, krijg je direct een mooie syntax coloring over je HTML (View Source) waardoor je dit soort dingen er sneller uitpikt.

Er zijn ook nog wat andere leuke developer features als 'live http headers', erg handig als je met cookies, redirects enzo bezig bent...

Acties:
  • 0 Henk 'm!

  • R_W
  • Registratie: Oktober 2002
  • Niet online

R_W

Verwijderd schreef op 20 juli 2004 @ 12:35:
[...]


Gelukkig doe ik dat nou nooit fout ;-)
Gewoon altijd en overal quotes omheen zetten :)
Pagina: 1