if (isset($_POST['send'])) clear all html
Ik heb een formulier waarin een naam ingevuld moet worden.
Ik wil dat als er op de Send knop wordt gedrukt, alleen de $naam wordt weergegeven, dus het formulier moet verdwijnen.
Het moet op dezelfde pagina (post.php) gebeuren. (waarom is te omslachtig om uit te leggen, ik heb het voorbeeld al zo simpel mogelijk gemaakt).
Mijn onderstaande code laat dus $naam zien MET het formulier.
Hoe fix ik het zo dat het formulier verdwijnt en alleen $naam als echo komt?
Code (php)
Gewijzigd op 01/01/1970 01:00:00 door Sander W
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
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
<?php
if($_POST['submit']){
$naam = addslashes($_POST['naam']);
$achternaam = addslashes($_POST['achternaam']);
if(empty($naam)){
$error_message.= "naam is leeg <br/>\n";
}
if(is_alpha($naam)){
$error_message.= "naam mag geen getallen bevatten <br/>\n";
}
if(empty($achternaam)){
$error_message.= "achternaam is leeg <br/>\n";
}
if(is_alpha($achternaam)){
$error_message.= "achternaam mag geen getallen bevatten <br/>\n";
}
if($error_message){
echo $error_message;
} else {
echo "Mijn voornaam is: ". $naam . " en mijn achternaam is ".$achternaam .".";
}
}
if(!$error_message){
echo"<form action=\"$_SERVER['PHP_SELF']\" method=\"post\">";
echo"Naam:<input type=\"text\" name=\"naam\">";
echo"Achternaam:<input type=\"text\" name=\"achternaam\">";
echo"<input type=\"Submit\" value=\"Send\" name=\"send\" id=\"send\">";
echo"</form>";
}
?>
if($_POST['submit']){
$naam = addslashes($_POST['naam']);
$achternaam = addslashes($_POST['achternaam']);
if(empty($naam)){
$error_message.= "naam is leeg <br/>\n";
}
if(is_alpha($naam)){
$error_message.= "naam mag geen getallen bevatten <br/>\n";
}
if(empty($achternaam)){
$error_message.= "achternaam is leeg <br/>\n";
}
if(is_alpha($achternaam)){
$error_message.= "achternaam mag geen getallen bevatten <br/>\n";
}
if($error_message){
echo $error_message;
} else {
echo "Mijn voornaam is: ". $naam . " en mijn achternaam is ".$achternaam .".";
}
}
if(!$error_message){
echo"<form action=\"$_SERVER['PHP_SELF']\" method=\"post\">";
echo"Naam:<input type=\"text\" name=\"naam\">";
echo"Achternaam:<input type=\"text\" name=\"achternaam\">";
echo"<input type=\"Submit\" value=\"Send\" name=\"send\" id=\"send\">";
echo"</form>";
}
?>
Je kunt beter stripslashes doen dreampower.
Arjan, dat doe je toch als je iets uit de database haalt?
O ja je hebt gelijk, maar het is wel handig om even bij de input een value toe te voegen met daarbij wel de stripslashes($_POST['..']) voor gebruikersvriendelijkheid.
addslashes() verknalt jouw data, voor je het weet ben je een hele serie slashes rijker en zie je door de slashes de input niet meer.
Code (php)
Kun je versimpelen naar: