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>

Rispondi quotando