[php] reloaden web page met behoud van ingevulde waarden.

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Beste tweakers,

Ik ben bezig met het maken van een web-site waarbij je een aantal verplicht in te vullen venlden hebt. Als je er een vergeet word je terug gestuurd naar de zelfde pagina, maar je in gevulde velden zijn nog wel in gevuld. Ik krijg dat niet voor elkaar.

Ik heb al met google gezocht, maar de tutorials die ik gevonden hebben beschrijven alleen maar het processen van een form naar een php script. dit begijp ik wel.

Ik zocht mijn oplossing in het volgende script:

<?php
$firstname = $HTTP_POST_VARS['firstname'];
$lastname = $HTTP_POST_VARS['lastname'];

if (strlen($firstname)==0) {$firstname = "-";}
if (strlen($lastname)==0) {$lastname = "-";}

echo "<FORM action=http://www.domein.com:resubmit.php method=post>";
echo "First name:<input type=text value=$firstname name=firstname><br>";
echo "Last name:<input type=text value=$lastname name=lastname><br>";
echo "<input type=submit value=Submit>";
echo "</form>";
?>

Opzich doet het wat ik er van verwacht, behalve als ik, in een van de entries een space gebruik. Dan krijg ik alleen te zien wat er voor de space staat.
b.v. 'van den website' dan zie ik alleen 'van'

wat doe ik fout of is er een beter methode.

alvast bedankt voor jullie hulp. en helaas ik ben een noob....

[ Voor 9% gewijzigd door Verwijderd op 30-11-2004 20:20 ]


Acties:
  • 0 Henk 'm!

  • Priet
  • Registratie: Januari 2001
  • Laatst online: 21:17

Priet

To boldly do what no one has..

Je moet de waarde van de value-parameter voorzien van quotes ("). En de andere parameters ook...

PHP:
1
echo "First name:<input type="text" value="$firstname" name="firstname"><br>\n";

Overigens is het gebruik van $HTTP_POST_VARS niet zo netjes (meer). Gebruik liever $_POST[] :)

[ Voor 27% gewijzigd door Priet op 30-11-2004 20:23 ]

"If you see a light at the end of a wormhole, it's probably a photon torpedo!"


Acties:
  • 0 Henk 'm!

  • Mac_Cain13
  • Registratie: Juni 2003
  • Laatst online: 17-09 15:48
Ten eerste hoor je in nieuwere versies van PHP eigenlijk $_POST[] te gebruiken in plaats van $HTTP_POST_VARS[].
Dat het niet goed komt met de spaties komt doordat een argument in HTML tussen aanhalingstekens hoort ("). Dus op deze manier:
PHP:
1
2
3
[...]
echo "Last name:<input type=\"text\" value=\"$lastname\" name=\"lastname\"><br>";
[...]
Overgens kun je ook je script zo proberen te schrijven dat je alleen de value echo't ipv de hele regel. Dat scheeld weer escapen enz.

edit:
Te laat :P

[ Voor 30% gewijzigd door Mac_Cain13 op 30-11-2004 20:26 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Wat zou ik toch zonder GOT moeten, bedankt het werkt.

Je was niet te laat, Mac_cain13, Priet was op de goede weg, maar de "\" was de oplossing.

Julie opmerking over "$HTTP_POST_VARS" is terecht en was er helaas tussen geslopen.

Bedankt voor jullie hulp.

[ Voor 33% gewijzigd door Verwijderd op 30-11-2004 20:30 ]


Acties:
  • 0 Henk 'm!

  • Reveller
  • Registratie: Augustus 2002
  • Laatst online: 05-12-2022

Reveller

Hopla!

Misschien al overbodig, maar toch even snel. Persoonlijk vind ik dit veel duidelijker dan alle dubbele quootjes te moeten escapen :)
PHP:
1
echo 'Last name:<input type="text" value="'.$lastname.'" name="lastname"><br>';

[ Voor 113% gewijzigd door Reveller op 30-11-2004 20:49 ]

"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."