Ik heb een kleine routine geschreven waarmee ik een login kan plaatsen op delen van websites.
Spreekt allemaal voorzich(als iemand verbeteringen weet, graag)
de functie ShowLogin();
en de functie ShowLogout();
Het probleem is nu alleen(omdat ik met forms werk) dat waneer ik iemand uitlog, dat deze een aantal keren op back kunnen duwen - dan op reload en dat zijn ze gewoon weer ingelogged(logisch ook, de data in het form wordt opnieuw gesubmit).
Hoe lost ik dit makkelijk op ?
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
| if ($_POST['login']) { $query = mysql_query("SELECT `klantnummer`, `wachtwoord`, `domeinnaam` FROM hostingklanten.klanteninformatie WHERE `klantnummer`='".$_POST['clientnumber']."' AND `status`='1'") or die(mysql_error()); $result = mysql_fetch_array($query, MYSQL_ASSOC); if ($result) { if ($_POST['password'] == $result['wachtwoord']) { // De ingevoerde waarden zijn juist, de gebruiker wordt ingelogd session_start(); session_register('clientnumber'); session_register('password'); // Acties van gebruiker opslaan in een data-log ActivityLog("De gebruiker is ingelogd"); return; } else { // De gebruiker gaf een foute invoer op echo "<center>Uw invoer was niet correct, probeer het opnieuw! </center><br />"; ShowLogin(); exit(); } } else { // De gebruiker gaf een foute invoer op echo "<center>Uw invoer was niet correct, of Uw account is uitgeschakeld - probeer het opnieuw! </center><br />"; ShowLogin(); exit(); } } |
Spreekt allemaal voorzich(als iemand verbeteringen weet, graag)
de functie ShowLogin();
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
| Function ShowLogin() { print " <html> <head> <link rel=\"stylesheet\" href=\"site.css\" type=\"text/css\" /> </head> <body> <center> <table class=\"normal\" border=\"0\" width=\"100%\"> <tr> <td width=\"100%\" align=\"center\"> <form method=\"post\" action=\"/\"> <table border=\"0\" cellpadding=\"0\" cellspacing=\"2\" width=\"1\" class=\"normal\"> <tr> <td>Klantnummer:</td> <td><input type=\"text\" name=\"clientnumber\" size=\"20\"></td> </tr> <tr> <td>Wachtwoord: </td> <td><input type=\"password\" name=\"password\" size=\"20\"></td> </tr> <tr> <td colspan=\"2\" align=\"center\"><br /><br /><input class=\"submit\" type=\"submit\" name=\"login\" value=\"Aanmelden\" class=\"normal\"></td> </tr> </table> </form> </table> </center> </body> </html>"; } |
en de functie ShowLogout();
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| Function ShowLogout() { print " <html> <head> <link rel=\"stylesheet\" href=\"site.css\" type=\"text/css\" /> </head> <body> <center><br />U bent nu uitgelogd.</center>"; session_start(); session_unregister('clientnumber'); session_unregister('password'); session_destroy(); print " </body> </html>"; } |
Het probleem is nu alleen(omdat ik met forms werk) dat waneer ik iemand uitlog, dat deze een aantal keren op back kunnen duwen - dan op reload en dat zijn ze gewoon weer ingelogged(logisch ook, de data in het form wordt opnieuw gesubmit).
Hoe lost ik dit makkelijk op ?