Voor stage moet ik een oefenopdracht maken die het mogelijk moet maken om gegevens te verzenden naar een mailadres dat de gebruiker zelf kan invoeren.
Probleem hierbij is: als de pagina gerefreshed wordt, worden de POST variables opnieuw via de mail verzonden. Een mogelijke oplossing hierbij is: redirect naar een andere pagina. Dat klopt, dat zou goed werken, op één dingetje na. De vorige knop. Iedereen kent het en de meeste mensen gebruiken het. Als je dus op vorige drukt, dan wordt in de meeste gevallen de pagina gerefreshed waar naartoe je terug gaat, met als gevolg dat de form weer gesubmit wordt.
Persoonlijk zat ik te denken om de variablen die gesubmit worden te unsetten of deleten (of hoe je het ook wilt noemen) op het moment dat de pagina wordt verlaten of gerefreshed. Ik heb al geprobeerd met unset();, maar dat werkte bij mij niet.
Code:
Er zit inderdaad een mysqli verbinding in, die wordt nog gebruikt in de toekomst.
Iemand die mij hierbij kan helpen?
Probleem hierbij is: als de pagina gerefreshed wordt, worden de POST variables opnieuw via de mail verzonden. Een mogelijke oplossing hierbij is: redirect naar een andere pagina. Dat klopt, dat zou goed werken, op één dingetje na. De vorige knop. Iedereen kent het en de meeste mensen gebruiken het. Als je dus op vorige drukt, dan wordt in de meeste gevallen de pagina gerefreshed waar naartoe je terug gaat, met als gevolg dat de form weer gesubmit wordt.
Persoonlijk zat ik te denken om de variablen die gesubmit worden te unsetten of deleten (of hoe je het ook wilt noemen) op het moment dat de pagina wordt verlaten of gerefreshed. Ik heb al geprobeerd met unset();, maar dat werkte bij mij niet.
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
| <?php $connect=mysqli_connect(localhost,"xxxx","xxxx",xxxx); $ww=rand_string(8); $vn=$_POST["text1"]; $an=$_POST["text2"]; $mail = ($_POST["text3"]); function rand_string ($length){ $characters = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; return substr(str_shuffle($characters),0,$length); } if ($_POST["hidden1"] == TRUE){ if (!filter_var($mail, FILTER_VALIDATE_EMAIL)) { $mailerror = "Invalid email format"; } define ('MAIL', 'xxx.xxx@xxxxxx.nl'); mail ($mail, "Login", "Your login information is: Username: " . $mail . "Password: " . $ww, "From: " .MAIL); //$ww=" "; //$vn=" "; //$an=" "; //$mail=" "; } ?> <!doctype html> <html> <head> <meta charset="utf-8"> <title>Signupmagic</title> </head> <body> <form method="post" name="form1" id="form1" action="reloading();"> <input type="text" name="text1" id="text1">Voornaam<br> <input type="text" name="text2" id="text2">Achternaam<br> <input type="text" name="text3" id="text3">Mailadres <?php echo $mailerror; ?><br> <input type="hidden" name="hidden1" id="hidden1" value="TRUE"> <input type="submit" name="submit1" id="submit1" value="Submit"> </form> </body> </html> |
Er zit inderdaad een mysqli verbinding in, die wordt nog gebruikt in de toekomst.
Iemand die mij hierbij kan helpen?
Did you try turning it off and on again?