Ho un problema: ho trovato questo codice php per creare pagine protette, con un form di login...
Il problema è che in questo caso può esistere uno ed un solo user in grado di accedere alle pagine protette:admin.
Se volessi creare più user come potrei fare?
Qualsiasi soluzione anche senza dover utilizzare mysql è beneaccetta!
Grazie, questo è il codice!
codice:
1. <?php
2. //dati per il login
3. $login_user="admin";
4. $pass_user="189bbbb00c5f1fb7fba9ad9285f193d1"; //passwd="prova"
5. $redirect="http://localhost/~m3xican/m3xican/su.php";
6.
7. //gestione della sessione nel caso in cui i cookie sono disabilitati
8. if(IsSet($_POST['PHPSESSID']) && !IsSet($_COOKIE['PHPSESSID']))
9. {
10. $PHPSESSID=$_POST['PHPSESSID'];
11. header("Location: $redirect?PHPSESSID=$PHPSESSID"); //si ricarica la pagina di login
12. }
13.
14. session_start(); //si inizia o continua la sessione
15.
16. //controllo user e passwd da login
17. if(IsSet($_POST['posted_username']) && IsSet($_POST['posted_password']))
18. {
19. if($login_user==($_POST['posted_username']) && pass_user==md5($_POST['posted_password']))
20. $_SESSION['user']=$_POST['posted_username'];
21. }
22.
23. //creazione cookie per login automatico
24. if(IsSet($_POST['ricorda']) && IsSet($_SESSION['user']))
25. {
26. $cok=md5($login_user)."%%".$pass_user;
27. setcookie("sav_user",$cok,time()+31536000);
28. }
29.
30. //logout
31. if($_GET['logout']==1)
32. {
33. $_SESSION=array(); // Desetta tutte le variabili di sessione.
34. session_destroy(); //DISTRUGGE la sessione.
35. if(IsSet($_COOKIE['sav_user'])) //se presente si distrugge il cookie di login automatico
36. setcookie("sav_user",$cok,time()-31536000);
37. header("Location: $redirect"); //si ricarica la pagina di login
38. exit; //si termina lo script in modo da ritornare alla schermata di login
39. }
40.
41. //controllo user e passwd da cookie
42. if(IsSet($_COOKIE['sav_user']))
43. {
44. $info_cok=$_COOKIE['sav_user'];
45. $cok_user=strtok($info_cok,"%%");
46. $cok_pass=strtok("%%");
47. setcookie("sav_user",$info_cok,time()+31536000);
48.
49. if($cok_user==md5($login_user) && $cok_pass==$pass_user)
50. $_SESSION['user']=$login_user;
51. }
52.
53. //caso in cui si vuole ricordare il login, ma i cookie sono off
54. if(!IsSet($_COOKIE['PHPSESSID']) && IsSet($_POST['ricorda']))
55. header("Location: $redirect?nocookie=1");
56. ?>
57. <HTML>
58. <HEAD>
59. </HEAD>
60. <BODY>
61. <?php
62.
63. $PHPSESSID=session_id();
64.
65. if(!IsSet($_SESSION['user'])) //non siamo loggati, pagina di login
66. {
67. if($_GET['nocookie']==1) //i cookie sono off e si vuole ricordare il login
68. print("Spiacente, ma con i cookie disabilitati non posso fare i miracoli ;)
69. Attivali se vuoi ricordare il tuo login.
");
70. print("
<FORM METHOD=POST ACTION=\"login.php\">
71. username:
72. <INPUT TYPE=TEXT SIZE=20 NAME=posted_username>
73. password:
74. <INPUT TYPE=PASSWORD SIZE=20 NAME=posted_password>
75. ricordami: <INPUT TYPE=CHECKBOX NAME=ricorda VALUE=1>
76. <INPUT TYPE=SUBMIT NAME=SUBMIT VALUE=\"Loggami\">
");
77.
78. if(!IsSet($_COOKIE['PHPSESSID'])) //i cookie sono off, dobbiamo propagare noi il PHPSESSID
79. print("<INPUT TYPE=HIDDEN NAME=PHPSESSID VALUE=$PHPSESSID>");
80. print("</FORM>");
81. }
82. else //siamo loggati pagina riservata
83. {
84. $username=$_SESSION['user'];
85. print("Il tuo ID ?: $PHPSESSID
");
86. print("Sei loggato come: $login_user
");
87. print("<A HREF=\"login.php?logout=1\">logout</A>");
88. }
89. ?>
90. </BODY>
</HTML>