Ik zit met een eigenaardig probleem, als ik de sessie unset dan wordt het formulier weer geladen. Terwijl dat na een submit een melding moet komen dat de gebruiker succesvol is geregistreerd. Ik zal proberen in de comments mijn probleem te verduidelijken.
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
| /* File register.php */ <?php if($session->logged_in){ echo "<h3>Geregistreerd</h3>"; echo "<p>He <b>$session->username</b>, je bent al geregistreerd." ."<a href=" .$_SERVER["PHP_SELF"]. ">Home</a>.</p>"; } else if(isset($_SESSION['regsuccess'])){ /* Registratie is goed gegaan */ if($_SESSION['regsuccess']){ echo "<h3>Geregistreerd!</h3>"; echo "<p>Bedankt <b>".$_SESSION['reguname']." </b> voor je registratie</b>, je gegevens zijn toegevoegd aan de database, " ."om in te loggen klik op de link in de mail die zojuist verzonden is.</p>" ."<br /><a href=" .$_SERVER["PHP_SELF"]. ">Home</a>"; } /* Registratie mislukt */ else{ echo "<h3>Registratie mislukt</h3>"; echo "<p>Helaas, er is wat mis gegaan met het registreren van jou account <b>".$_SESSION['reguname']."</b>, " ."<br>Probeer het later nog eens</p>"; } unset($_SESSION['regsuccess']); /* Hier gaat het fout, de melding van succesvol reg is niet zichtbaar en het formulier komt weer in beeld. Wat ik wil is dat na de melding succesvol geregd de session unset wordt waardoor je de volgende keer weer het formulier ziet. Als ik unset weglaat dan zal ik altijd, zolang de sessie bestaat, zien dat ik geregistreerd ben. */ unset($_SESSION['reguname']); } /** Het formulier **/ else{ if($form->num_errors > 0){ echo "<td><font size=\"2\" color=\"#ff0000\">".$form->num_errors." error(s) gevonden</font></td>"; } ?> // html opmaak van formulier etc. te lang en onbelangrijk om te posten <? } /* File process.php Het formulier wordt gecontroleerd en als alles in de database zit komt het terug met return value 0 de header roept dan het script hierboven register.php aan. */ if($rwaarde == 0){ // echo "Goed gegaan"; $_SESSION['reguname'] = $_POST['voornaam']; $_SESSION['regsuccess'] = true; header("Location: ".$session->referrer); } ?> |
[ Voor 2% gewijzigd door doak op 13-12-2007 23:36 . Reden: Verduidelijken ]