Formulier: back button = lege velden

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

13/08/2004 14:14:00
Quote Anchor link
Hallo daar..

Ik heb een irritant probleempje..

Als ik een basic email formulier maak, met field checks erin:

if ($naam == "") {
echo "<b>Fout!</b><br>Ga <a href=\"email.php\" target=\"_self\"><u>terug</u></a> en probeer het opnieuw!";
}

En de gebruiker drukt op 'terug' dan zijn alle (voorheen) ingevulde velden weer leeg.. Bij somige formulieren is dat niet het geval en blijft het formulier ingevuld met de door de gebruiker ingevulde gegeven.
Ik heb me rot gezocht naar een oplossing, maar kan het niet vinden.. Misschien weet iemand hier een oplossing?

Alvast bedankt!

Grtz
Gq.
 
PHP hulp

PHP hulp

13/01/2025 19:06:37
 
Steff   an

Steff an

13/08/2004 14:17:00
Quote Anchor link
Doe ipv.

<a href=\"email.php\" target=\"_self\">

dit:

<a href=\"javascript:history.back()\">

alleen het w8woord veld is weer leeg
Gewijzigd op 13/08/2004 14:17:00 door Steff an
 

13/08/2004 14:20:00
Quote Anchor link
Ja dat had ik dus ook geprobeerd, maar toch blijven alle velden leeg :S
 
Steff   an

Steff an

13/08/2004 14:32:00
Quote Anchor link
oei
 

13/08/2004 14:37:00
Quote Anchor link
Precies :)
 
Dutchcamel

dutchcamel

13/08/2004 14:49:00
Quote Anchor link
Pas was er ongeveer eenzelfde vraag. Op de verwerkingpagina alles wat goed ingevuld is opslaan in sessievariabelen. Bij het formulier kijken of de sessievariabele bestaat en zo ja value=".." toevoegen:

Formulier:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?
session_start();
$naam = !empty($_SESSION['naam']) ? ' value="'.$_SESSION['naam'].'"' : '';
...

echo '<input type="text" name="naam"'.$naam.'>';
?>


Verwerking:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?
session_start();
if (!empty($_POST['naam'])) {
   $_SESSION['naam'] = $_POST['naam'];
}

?>
 

13/08/2004 15:01:00
Quote Anchor link
Uhm, ik snap niet helemaal hoe dat session werkt...

Btw hier is het script:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Send e-mail</title>
</head>
<body>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?
if (isset($_POST['verzend'])) {
    $email = "[email protected]";
    $naam = $HTTP_POST_VARS['txtNaam'];
    $telefoon = $HTTP_POST_VARS['txtTelefoon'];
    $reactie = $HTTP_POST_VARS['txtReactie'];
    $emailadres = $HTTP_POST_VARS['txtEmail'];
    $mailbody = "Naam: $naam\nTelefoon: $telefoon\nE-mail: $emailadres\nReactie: $reactie";
    $title = "Reactie van $naam";

    if ($naam == "") {
        print "<b>Fout!</b>
        <br><br>U moet een naam invullen!<br>
        <br>Ga <a href=\"javascript:history.back()\"><u>terug</u></a> en probeer het opnieuw!"
;
    }
elseif ($reactie == "") {
        print "<b>Fout!</b>
        <br><br>U moet een reactie invullen!<br>
        <br>Ga <a href=\"javascript:history.back()\"><u>terug</u></a> en probeer het opnieuw!"
;
    }
else {
        mail( $email, $title, $mailbody);
        print "Uw reactie is verstuurd!";
    }
}
else {
    ?>

<form name="email_form" method="post" action="">
<table width="530" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="150">Naam:</td>
<td width="380"><input name="txtNaam" type="text" id="txtNaam" size="25" maxlength="25"></td>
</tr>
<tr>
<td width="150">Telefoonnummer:</td>
<td width="380"><input name="txtTelefoon" type="text" id="txTelefoon" size="15" maxlength="15"></td>
</tr>
<tr>
<td width="150">E-mailadres:</td>
<td width="380"><input name="txtEmail" type="text" id="txtEmail" size="45" maxlength="45"></td>
</tr>
<tr>
<td width="150" valign="top">Reactie:</td>
<td width="380"><textarea name="txtReactie" cols="50" rows="6" id="txtReactie"></textarea></td>
</tr>
<tr>
<td width="150">&nbsp;</td>
<td width="380"><input type="submit" name="verzend" value="Verzenden"></td>
</tr>
</table></form>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
}
?>

</body>
</html>
 

13/08/2004 15:02:00
Quote Anchor link
Met dat session gebeuren word het een stuk ingewikkelder.. En het moet wel een beetje een basic scriptje blijven :)
 
Dbr Br

Dbr Br

13/08/2004 15:04:00
Quote Anchor link
@dutchchannel: dat gaat dus niet lukken als het formpje nog niet is gesubmit.. Ik denk dat GQ bedoeld dat de gegevens weer terugkomen als er nog niets gesubmit is..

In dat geval; zou ik eens gaan kijken naar de phpbb forums die dat ook hebben
 

13/08/2004 15:05:00
Quote Anchor link
@Dave

Ja precies dat bedoel ik..
 

13/08/2004 16:31:00
Quote Anchor link
Ik heb het al opgelost.. Heb het script een beetje aangepast, nu hoeft er helemaal niet op 'terug' gedrukt te worden..

Thnx voor jullie tijd iig
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.