Enemy (Member)
Rookie
Messaggi: 59
Iscritto: 26/01/2008
|
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
|
|
cassin.simone (Member)
Guru
Messaggi: 1051
Iscritto: 03/06/2009
|
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 |
Scus, ma hai fatto la parte più difficile...il login e il recupero password li fai in 2 secondi se hai fatto tutto questo... |
|
Enemy (Member)
Rookie
Messaggi: 59
Iscritto: 26/01/2008
|
Emh
Posto un po di codice :
Per quanto riguarda la Query :
Codice sorgente - presumibilmente Php |
<? include("configurazionedatabase.php"); if ($db == FALSE) die ("Non e' possibile connettersi al database, controlla la configurazione"); or die ("Errore nei parametri della configurazione"); $query = "CREATE TABLE membri ( id INT (5) UNSIGNED not null AUTO_INCREMENT, nickname VARCHAR (255) not null, password VARCHAR (50), mail VARCHAR (50), PRIMARY KEY (id) )"; echo "L'installazione della query e' avvenuta correttamente"; else echo "Errore durante l'installazione"; ?>
|
Per quanto riguarda l'immisione di un utente nella tabella :
Codice sorgente - presumibilmente Php |
<? $Nickname=$_POST['nickname']; $Password=$_POST['password']; $Mail=$_POST['mail']; if ($db == FALSE) die ("Non e' possibile connettersi al database, controlla la configurazione"); or die ("Errore nei parametri della configurazione"); mysql_query("INSERT INTO membri VALUES ('$Nickname','$Password','$Mail')"); echo "Ti sei registrato, grazie!"; ?>
|
Codice sorgente - presumibilmente Plain Text |
<form name="registrazioneutente" method="post" action="registrati.php">
<b>Nome Utente (Nickname) :</b><br>
<input name="Nickname" type="text" id="nickname"><br>
<b>La tua password :</b><br>
<input name="Password" type="password" id="password"><br>
<b>La tua mail :</b><br>
<input name="Mail" type="text" id="mail"><br>
<p>
<input type="submit" name="Submit" value="Registrati">
</p>
</form>
|
Come faccio a rendere pagine protette quando si effettua un login, ma piu' importante come faccio a fa il login. Grazie |
|
Thejuster (Admin)
Guru^2
Messaggi: 2306
Iscritto: 04/05/2008
|
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 |
<form name="registrazioneutente" method="post" action="registrati.php">
<b>Nome Utente (Nickname) :</b><br>
<input name="Nickname" type="text" id="nickname"><br>
<b>La tua password :</b><br>
<input name="Password" type="password" id="password"><br>
<b>La tua mail :</b><br>
<input name="Mail" type="text" id="mail"><br>
<p>
<input type="submit" name="Submit" value="Registrati">
</p>
</form>
|
Riscontro Username e Password
Codice sorgente - presumibilmente Python |
<? $nick = $_POST[nickname]; $pass = $_POST[password]; //var per verificare che tutto sia corretto $verifica = ""; //eseguo la query sulla tabella membri alla colonna username //in cerca del nick inviato dall'utente $sql = mysql_query("SELECT * FROM membri WHERE username='$nick';"); //Ciclo per verificare se esiste il nick in tutta la tabella while($row = mysql_fetch_array($sql)) { if($row[username] == $nick) { if($row[password] == $pass) { //setto esempio un coockie o una sessione per //indentificare che l'utente abbia effettuato l'accesso setcookie("miosito", $nick, time()+600); $verifica = "si"; } else { $verifica = "no"; } } } if($verifica == "si") { echo "Benvenuto $nick, Grazie per esserti loggato."; } if($verifica == "no") { echo "Username o Password errati, Controlla i tuoi dati"; } ?>
|
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
|
|
Enemy (Member)
Rookie
Messaggi: 59
Iscritto: 26/01/2008
|
Mille grazie, ho capito come devo fare, ho fatto anche il logout eliminando il cookie e la sessione
Grazie Thejuster!!!
|
|
matteoiamma (Member)
Pro
Messaggi: 74
Iscritto: 18/06/2008
|
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:rotfl
|
|
Xaratroom (Ex-Member)
Expert
Messaggi: 526
Iscritto: 03/04/2008
|
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 |
|
Enemy (Member)
Rookie
Messaggi: 59
Iscritto: 26/01/2008
|
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.
|
|
cassin.simone (Member)
Guru
Messaggi: 1051
Iscritto: 03/06/2009
|
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! |
|