textarea waarde behouden na verzenden formulier
HOe kan ik ervoor zorgen dat de waarde van de textarea in een formulier behouden blijft na verzenden/foutmelding. Zoals ik het nu heb gedaan, wordt het veld elke keer geleegd.
htmlentities / htmlspecialchars gebruiken.
Moet je weer terugplaatsen. Let op </textarea>
Dit werkt niet, dan is de waarde weg na verzenden of foutmelding
<textarea>Dit werkt niet, dan is de waarde weg na verzenden of foutmelding
Je krijgt na het verzenden toch niet hetzelfde formulier te zien. Leg eens wat duidelijker uit wat je nou wilt bereiken.
- SanThe - op 15/04/2011 17:59:57:
Je krijgt na het verzenden toch niet hetzelfde formulier te zien. Leg eens wat duidelijker uit wat je nou wilt bereiken.
Waarschijnlijk wil ze dat als iemand een vak van het formulier niet invult, dat je dan een foutmelding krijgt.
En dat je dan de vakken die wel ingevuld waren niet opnieuw hoeft in te vullen.
Code (php)
In het contactforumier dan bij iedere input kijken of er al een $_POST-warde is en deze als value meegeven
Karl Karl op 15/04/2011 17:44:58:
Moet je weer terugplaatsen. Let op htmlentities / htmlspecialchars gebruiken.
LEZEN!
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<?php
session_start();
$cfg['CAPTCHA'] = TRUE; // CAPTCHA ( TRUE voor aan, FALSE voor uit )
$cfg['text'] = TRUE; // Bij Fout Text Rood maken ( TRUE voor aan, FALSE voor uit )
$cfg['input'] = TRUE; // Bij Fout Border om Vakje Rood maken ( TRUE voor aan, FALSE voor uit )
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
if(isset($_POST['Submit']))
{
$naam= $_POST['naam'];
$email= $_POST['email'];
$onderwerp=$_POST['onderwerp'];
$boodschap=$_POST['boodschap'];
if($cfg['CAPTCHA'])
{
$code = $_POST['code'];
}
if(empty($naam) || (strlen($naam) < 3))
echo "Vul een correcte naam in<br>";
if(!preg_match("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$^", $email))
echo "Vul een correct e-mailadres in<br>";
if(empty($onderwerp) || (strlen($onderwerp) < 3))
echo "Vul een onderwerp in<br>";
if(empty($boodschap) || (strlen($boodschap) < 6))
echo "Vul een boodschap in";
if($cfg['CAPTCHA'])
{
if(strtoupper($code) != $_SESSION['captcha_code'])
{
$aFout[] = "Er is geen correcte code ingevuld.";
$fout['text']['code'] = TRUE;
$fout['input']['code'] = TRUE;
}
}
if(!$cfg['text'])
{
unset($fout['text']);
}
if(!$cfg['input'])
{
unset($fout['input']);
}
if(!empty( $aFout ))
{
$errors = '<center><ul>';
foreach($aFout as $sFout)
{
$errors .= "<li>".$sFout."</li>\n";//.= stringoperator, samenvoegen en toewijzen
}
$errors .= "</ul></center>";
}
else
{
$naam = trim($naam);
$email = trim($email);
$onderwerp = trim($onderwerp);
$boodschap = trim($boodschap);
$formsent = mail('[email protected]',
'Contactformulier',
"Contactformulier verzonden door: $naam\n
email: $email\n
onderwerp: $onderwerp\n
boodschap: $boodschap\n",
"From: $email\nBounce-to: [email protected]");
if ($formsent)
echo "<P>Hoi, $naam.<p> Het contactformulier is verzonden. Ik zal zo snel mogelijk contact met je opnemen!";
else
echo 'Helaas, het verzenden van het contactformulier is niet goed gegaan. <br>Mail naar of probeer het later nog eens.';
}
}
}
?>
<FORM METHOD= "post" action="<?php echo $_SERVER['PHP_SELF'] ?>">
<table align="center">
<tr><td colspan="2"><?php if(isset($errors)) {echo $errors;} ?></td></tr>
<tr>
<td> Naam: </td>
<td> <input type="text" size=30 name="naam" value="<?php if (isset($_POST['naam'])) echo $naam; ?>" /></td>
</tr>
<tr>
<td> E-mailadres:</td>
<td><input type="text" size=30 name="email" value="<?php if (isset($_POST['email'])) echo $email; ?>" /></td>
</tr>
<tr>
<td> Onderwerp:</td>
<td><input type="text" size=30 name="onderwerp" value="<?php if (isset($_POST['onderwerp'])) echo $onderwerp; ?>"/></td>
</tr>
<tr>
<td> Boodschap:</td>
<td><textarea NAME="boodschap" ROWS=6 COLS=50 <?php if (isset($_POST['boodschap'])) echo htmlentities ($boodschap); ?>></textarea></td>
</tr>
<tr>
<td> <?php
if($cfg['CAPTCHA'])
{
?>
<img src="captcha.php" />
<?php if(isset($fout['text']['code'])) { 'class="fout"'; } ?> Code:
<input type="text" id="code" name="code" maxlength="6" size="6" <?php if(isset($fout['input']['code'])) { 'class="captcha fout"'; } ?> /></td></tr>
<tr><td> </td>
<td>
<?php
}
?> </td>
<td> <input type="submit" name="Submit" value="verzenden" /></td>
</tr>
</table>
</form>
</body>
</html>
session_start();
$cfg['CAPTCHA'] = TRUE; // CAPTCHA ( TRUE voor aan, FALSE voor uit )
$cfg['text'] = TRUE; // Bij Fout Text Rood maken ( TRUE voor aan, FALSE voor uit )
$cfg['input'] = TRUE; // Bij Fout Border om Vakje Rood maken ( TRUE voor aan, FALSE voor uit )
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
if(isset($_POST['Submit']))
{
$naam= $_POST['naam'];
$email= $_POST['email'];
$onderwerp=$_POST['onderwerp'];
$boodschap=$_POST['boodschap'];
if($cfg['CAPTCHA'])
{
$code = $_POST['code'];
}
if(empty($naam) || (strlen($naam) < 3))
echo "Vul een correcte naam in<br>";
if(!preg_match("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$^", $email))
echo "Vul een correct e-mailadres in<br>";
if(empty($onderwerp) || (strlen($onderwerp) < 3))
echo "Vul een onderwerp in<br>";
if(empty($boodschap) || (strlen($boodschap) < 6))
echo "Vul een boodschap in";
if($cfg['CAPTCHA'])
{
if(strtoupper($code) != $_SESSION['captcha_code'])
{
$aFout[] = "Er is geen correcte code ingevuld.";
$fout['text']['code'] = TRUE;
$fout['input']['code'] = TRUE;
}
}
if(!$cfg['text'])
{
unset($fout['text']);
}
if(!$cfg['input'])
{
unset($fout['input']);
}
if(!empty( $aFout ))
{
$errors = '<center><ul>';
foreach($aFout as $sFout)
{
$errors .= "<li>".$sFout."</li>\n";//.= stringoperator, samenvoegen en toewijzen
}
$errors .= "</ul></center>";
}
else
{
$naam = trim($naam);
$email = trim($email);
$onderwerp = trim($onderwerp);
$boodschap = trim($boodschap);
$formsent = mail('[email protected]',
'Contactformulier',
"Contactformulier verzonden door: $naam\n
email: $email\n
onderwerp: $onderwerp\n
boodschap: $boodschap\n",
"From: $email\nBounce-to: [email protected]");
if ($formsent)
echo "<P>Hoi, $naam.<p> Het contactformulier is verzonden. Ik zal zo snel mogelijk contact met je opnemen!";
else
echo 'Helaas, het verzenden van het contactformulier is niet goed gegaan. <br>Mail naar of probeer het later nog eens.';
}
}
}
?>
<FORM METHOD= "post" action="<?php echo $_SERVER['PHP_SELF'] ?>">
<table align="center">
<tr><td colspan="2"><?php if(isset($errors)) {echo $errors;} ?></td></tr>
<tr>
<td> Naam: </td>
<td> <input type="text" size=30 name="naam" value="<?php if (isset($_POST['naam'])) echo $naam; ?>" /></td>
</tr>
<tr>
<td> E-mailadres:</td>
<td><input type="text" size=30 name="email" value="<?php if (isset($_POST['email'])) echo $email; ?>" /></td>
</tr>
<tr>
<td> Onderwerp:</td>
<td><input type="text" size=30 name="onderwerp" value="<?php if (isset($_POST['onderwerp'])) echo $onderwerp; ?>"/></td>
</tr>
<tr>
<td> Boodschap:</td>
<td><textarea NAME="boodschap" ROWS=6 COLS=50 <?php if (isset($_POST['boodschap'])) echo htmlentities ($boodschap); ?>></textarea></td>
</tr>
<tr>
<td> <?php
if($cfg['CAPTCHA'])
{
?>
<img src="captcha.php" />
<?php if(isset($fout['text']['code'])) { 'class="fout"'; } ?> Code:
<input type="text" id="code" name="code" maxlength="6" size="6" <?php if(isset($fout['input']['code'])) { 'class="captcha fout"'; } ?> /></td></tr>
<tr><td> </td>
<td>
<?php
}
?> </td>
<td> <input type="submit" name="Submit" value="verzenden" /></td>
</tr>
</table>
</form>
</body>
</html>
Code (php)
1
2
3
4
2
3
4
<textarea NAME="boodschap" ROWS=6 COLS=50
<?php if (isset($_POST['boodschap'])) echo htmlentities ($boodschap); ?>
> // deze dus - waar die moet staan, mag je zelf uitzoeken
</textarea>
<?php if (isset($_POST['boodschap'])) echo htmlentities ($boodschap); ?>
> // deze dus - waar die moet staan, mag je zelf uitzoeken
</textarea>
Gewijzigd op 16/04/2011 00:56:09 door Pim B