Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
PHP - Sistema Login
Forum - PHP - Sistema Login

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
Enemy (Member)
Rookie


Messaggi: 59
Iscritto: 26/01/2008

Segnala al moderatore
Postato alle 10:49
Domenica, 14/06/2009
Questo topic è stato chiuso dal moderatore

Salve a tutti, sono circa 4 giorni e 3 notti che smanetto con il php/mysql, vorrei sapere se qualcuno ha fatto un sistema login oppure conosce un how-to in modo che spieghi per bene come si fa.

Gia' ho creato le query e tutto, con i diversi livelli user ecc. Ho gia fatto il form per l'inserimento dati nella tabella, mi serve solo loggarmi e al max recuperare la password.

Grazie in anticipo :D

PM
Avatar
cassin.simone (Member)
Guru


Messaggi: 1051
Iscritto: 03/06/2009

Segnala al moderatore
Postato alle 19:47
Domenica, 14/06/2009
Testo quotato

Postato originariamente da Enemy:

Salve a tutti, sono circa 4 giorni e 3 notti che smanetto con il php/mysql, vorrei sapere se qualcuno ha fatto un sistema login oppure conosce un how-to in modo che spieghi per bene come si fa.

Gia' ho creato le query e tutto, con i diversi livelli user ecc. Ho gia fatto il form per l'inserimento dati nella tabella, mi serve solo loggarmi e al max recuperare la password.

Grazie in anticipo :D



Scus, ma hai fatto la parte più difficile...il login e il recupero password li fai in 2 secondi se hai fatto tutto questo...

PM
Avatar
Enemy (Member)
Rookie


Messaggi: 59
Iscritto: 26/01/2008

Segnala al moderatore
Postato alle 23:30
Domenica, 14/06/2009
Emh


Posto un po di codice :

Per quanto riguarda la Query :

Codice sorgente - presumibilmente Php

  1. <?
  2.  
  3. include("configurazionedatabase.php");
  4.  
  5.  
  6. $db = mysql_connect($db_host, $db_user, $db_password);
  7. if ($db == FALSE)
  8. die ("Non e' possibile connettersi al database, controlla la configurazione");
  9. mysql_select_db($db_name, $db)
  10. or die ("Errore nei parametri della configurazione");
  11.  
  12. $query = "CREATE TABLE membri (
  13.  
  14.         id INT (5) UNSIGNED not null AUTO_INCREMENT,
  15.         nickname VARCHAR (255) not null,
  16.         password VARCHAR (50),  
  17.         mail VARCHAR (50),
  18.  
  19.  
  20.         PRIMARY KEY (id)
  21.  
  22. )";
  23.  
  24.  
  25.  
  26.  
  27. if (mysql_query($query, $db))
  28.  
  29.  
  30.  
  31. echo "L'installazione della query e' avvenuta correttamente";
  32. else
  33. echo "Errore durante l'installazione";
  34. ?>





Per quanto riguarda l'immisione di un utente nella tabella :

Codice sorgente - presumibilmente Php

  1. <?
  2.  
  3. $Nickname=$_POST['nickname'];
  4. $Password=$_POST['password'];
  5. $Mail=$_POST['mail'];
  6.  
  7.  
  8. $db = mysql_connect($db_host, $db_user, $db_password);
  9. if ($db == FALSE)
  10. die ("Non e' possibile connettersi al database, controlla la configurazione");
  11. mysql_select_db($db_name, $db)
  12. or die ("Errore nei parametri della configurazione");
  13.  
  14. mysql_query("INSERT INTO membri VALUES ('$Nickname','$Password','$Mail')");
  15. echo "Ti sei registrato, grazie!";
  16.  
  17.  ?>



Codice sorgente - presumibilmente Plain Text

  1. <form name="registrazioneutente" method="post" action="registrati.php">
  2.   <b>Nome Utente (Nickname) :</b><br>
  3.   <input name="Nickname" type="text" id="nickname"><br>
  4.  
  5.   <b>La tua password :</b><br>
  6.   <input name="Password" type="password" id="password"><br>
  7.  
  8.   <b>La tua mail :</b><br>
  9.   <input name="Mail" type="text" id="mail"><br>
  10.  
  11.   <p>
  12.     <input type="submit" name="Submit" value="Registrati">
  13.   </p>
  14.  
  15. </form>




Come faccio a rendere pagine protette quando si effettua un login, ma piu' importante come faccio a fa il login. Grazie

PM
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2306
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 0:29
Lunedì, 15/06/2009
Ciao enemy il tuo sistema e perfettamente funzionante.
per effettuare un login, basta verificare i dati inviati dal Form
POST e riscontrarli nel database
eseguendo un ciclo while su tutte le colonne alla posizione WHERE

ti spiego.


Form di Invio

Codice sorgente - presumibilmente Plain Text

  1. <form name="registrazioneutente" method="post" action="registrati.php">
  2.   <b>Nome Utente (Nickname) :</b><br>
  3.   <input name="Nickname" type="text" id="nickname"><br>
  4.  
  5.   <b>La tua password :</b><br>
  6.   <input name="Password" type="password" id="password"><br>
  7.  
  8.   <b>La tua mail :</b><br>
  9.   <input name="Mail" type="text" id="mail"><br>
  10.  
  11.   <p>
  12.     <input type="submit" name="Submit" value="Registrati">
  13.   </p>
  14.  
  15. </form>




Riscontro Username e Password

Codice sorgente - presumibilmente Python

  1. <?
  2.  
  3. $nick = $_POST[nickname];
  4. $pass = $_POST[password];
  5.  
  6. //var per verificare che tutto sia corretto
  7. $verifica = "";
  8.  
  9.  
  10. //eseguo la query sulla tabella membri alla colonna username
  11. //in cerca del nick inviato dall'utente
  12.  
  13. $sql = mysql_query("SELECT * FROM membri WHERE username='$nick';");
  14.  
  15.  
  16. //Ciclo per verificare se esiste il nick in tutta la tabella
  17.  
  18. while($row = mysql_fetch_array($sql)) {
  19.  
  20. if($row[username] == $nick) {
  21. if($row[password] == $pass) {
  22.  
  23.  //setto esempio un coockie o una sessione per
  24.  //indentificare che l'utente abbia effettuato l'accesso
  25.  
  26.    setcookie("miosito", $nick, time()+600);
  27.    $verifica = "si";
  28.  
  29.   } else { $verifica = "no"; }
  30. }
  31.  
  32. }
  33.  
  34. if($verifica == "si") { echo "Benvenuto $nick, Grazie per esserti loggato."; }
  35. if($verifica == "no") { echo "Username o Password errati, Controlla i tuoi dati"; }
  36.  
  37.  
  38. ?>



edit:
fatto questo nell'index ti basta eseguire una semplice verifica del coockie
dell'esistenza. se esiste recuperi il nick contenuto
e con quello rifari una query per recuperare permessi o altro.

Ultima modifica effettuata da Thejuster il 15/06/2009 alle 0:32


https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM
Avatar
Enemy (Member)
Rookie


Messaggi: 59
Iscritto: 26/01/2008

Segnala al moderatore
Postato alle 11:04
Lunedì, 15/06/2009
Mille grazie, ho capito come devo fare, ho fatto anche il logout eliminando il cookie e la sessione :D

Grazie Thejuster!!!

PM
Avatar
matteoiamma (Member)
Pro


Messaggi: 74
Iscritto: 18/06/2008

Segnala al moderatore
Postato alle 20:44
Martedì, 16/06/2009
Tra qualche giorno ho intenzione di pubblicare un "programma" qui su pierotofy.it che sarà un sistema di registrazione e login già pronto: una cosetta da 30 minuti(Domani, appena ho tempo la faccio:k:;):rotfl:)

PM
Avatar
Xaratroom (Ex-Member)
Expert


Messaggi: 526
Iscritto: 03/04/2008

Segnala al moderatore
Postato alle 1:11
Domenica, 28/06/2009
Avete mai sentito parlare di SQL injection ?
Ma come programmate ?
Quel codice non è sicuro !

Ultima modifica effettuata da Xaratroom il 28/06/2009 alle 1:17
PM
Avatar
Enemy (Member)
Rookie


Messaggi: 59
Iscritto: 26/01/2008

Segnala al moderatore
Postato alle 5:08
Domenica, 28/06/2009
Vero, anche perche' nel coockie viene memorizzato solo l'user, in pratica e' facile creare un cookie e loggarsi sapendo solo il nick.

Il sistema me lo sono riadattato, con amici ho fatto prove per quanto riguarda la sicurezza.

Nel coockie bisogna mettere anche l' md5 cosi da rendere sicuro anche l'accesso.

PM
Avatar
cassin.simone (Member)
Guru


Messaggi: 1051
Iscritto: 03/06/2009

Segnala al moderatore
Postato alle 9:40
Domenica, 28/06/2009
Testo quotato

Postato originariamente da Enemy:

Vero, anche perche' nel coockie viene memorizzato solo l'user, in pratica e' facile creare un cookie e loggarsi sapendo solo il nick.

Il sistema me lo sono riadattato, con amici ho fatto prove per quanto riguarda la sicurezza.

Nel coockie bisogna mettere anche l' md5 cosi da rendere sicuro anche l'accesso.



Io, fossi in  te, userei due o più sessioni...così sei sicuro!

PM
Pagine: [ 1 2 ] Precedente | Prossimo