Visualizzazione risultati 1 fino 3 di 3

Discussione: script login consiglio

  1. #1
    Guest

    Predefinito script login consiglio

    ok forse l'argomento è stato trattato già tante volte ... con la funzione cerca mi stavo già perdendo tra tutti i post, ma la mia domanda è un pò diversa, voglio un consiglio su cosa usare. Ho provato un paio di quelli consigliati qui http://php.html.it/script/lista/60/p...assword/?ob=cd ma tra installarli, capire come funzionano ecc mi sto proprio confondendo.

    qualcuno di voi magari mi consiglia quello che usa personalmente.

    io avrei bisogno di uno script che funzioni in php e sarebbe meglio se avesse un solo DB, in più mi bastano le funzioni per recuperare la password

  2. #2
    Guest

    Predefinito

    Dai un'occhiata qui,è in inglese ma molto intuitivo!(lo script usa i cookie)
    http://php.about.com/od/finishedphp1...login_code.htm

    permette la registrazione degli user,login,logout,se vuoi anche le funzioni per recuperare la password devi modificare lo script di registrazione e ci metti anche il campo per l'email,di conseguenza devi modificare anche la tabella per la registrazione e devi aggiungere il campo per l'email
    Poi per la password dimenticata usi questo script:
    Codice PHP:
    <table border="0">
    <form action="<?php echo $PHP_SELF;?>" method="post">
    <tr><td>Username:</td><td>
    <input type="text" name="username">
    </td></tr>
    <tr><td>E-Mail:</td><td>
    <input type="text" name="email"> </td></tr>
    <tr><th colspan=2><input type="submit" name= "submit" value="Invia"></th></tr></table></form>
    <a href="login.php">Torna al login!</a></div>
    <?php
    $username
    = "nome";
    $password = "password";
    $host = "localhost";
    $database = "my_nome";

    $db=mysql_connect($host, $username, $password) or die("Errore durante la connessione al database");
    mysql_select_db($database, $db) or die("Errore durante la selezione del database");
    if (isset(
    $_POST['submit'])) {

    //nessun campo deve essere lasciato vuoto
    if (!$_POST['username'] | !$_POST['email']) {
    die(
    '<div align=center><font color=red>Non hai completato tutti i campi richiesti!</font></div>');
    }
    $username = $_POST['username'];
    $namecheck = $_POST['username'];

    //controllo che il vecchio nome salvato nel db sia uguale a quello immesso
    $check= mysql_query ("SELECT username FROM users WHERE username = '$namecheck'") or die(mysql_error());
    $riga = mysql_fetch_assoc($check);
    if (
    $riga['username'] != $_POST['username']) {
    die(
    '<div align=center><font color=red>L\'username non corrisponde al vecchio username!</font></div>');
    }
    //controllo che l'email messa via effettivamente un'email
    $email=$_POST['email'];
    function
    chkEmail($email)
    {
    // elimino spazi, "a capo" e altro alle estremità della stringa
    $email = trim($email);

    // se la stringa è vuota sicuramente non è una mail
    if(!$email) {
    return
    false;
    }

    // controllo che ci sia una sola @ nella stringa
    $num_at = count(explode( '@', $email )) - 1;
    if(
    $num_at != 1) {
    return
    false;
    }

    // controllo la presenza di ulteriori caratteri "pericolosi":
    if(strpos($email,';') || strpos($email,',') || strpos($email,' ')) {
    return
    false;
    }

    // la stringa rispetta il formato classico di una mail?
    if(!preg_match( '/^[\w\.\-]+@\w+[\w\.\-]*?\.\w{1,4}$/', $email)) {
    return
    false;
    }

    return
    true;
    }

    if(!
    chkEmail($email)) {
    die(
    '<div align=center><font color=red>Indirizzo email non valido!,controlla di averlo scritto correttamente!</font></div>');
    }
    $email = $_POST['email'];
    $emailcheck = $_POST['email'];

    //controllo che la vecchia email salvata nel db sia uguale a quella immessa
    $check= mysql_query ("SELECT email FROM users WHERE email = '$emailcheck'") or die(mysql_error());
    $riga = mysql_fetch_assoc($check);
    if (
    $riga['email'] != $_POST['email']) {
    die(
    '<div align=center><font color=red>L\'email non corrisponde alla vecchia email!</font></div>');
    }
    //se è tutto ok,prendo la password a cui corrisponde l'email
    $dati=mysql_query("select password from users where email='$email'");
    while(
    $array=mysql_fetch_array($dati)){
    $password=$array[password];
    }
    //se è tutto ok,prendo l'username a cui corrisponde l'email
    $dati2=mysql_query("select username form users where email='$email'");
    while(
    $array=mysql_fetch_array($dati2)){
    $username=$array[username];
    }
    //effettuo il settagio dell'email
    $intestazioni= "From:metti il tuo indirizzo email\r\n";
    $intestazioni .= "X-Mailer: PHP/".phpversion();
    mail($_POST['email'],"Password persa","La tua password: $password e il tuo username: $username", $intestazioni);
    ?>
    <div align=center><font color=red>Password inviata!</font></div>
    <?php
    }
    ?>
    Ultima modifica di gbtchiaravalle : 12-02-2008 alle ore 15.13.01

  3. #3
    Ospite Guest

    Predefinito

    bello, è quello che cercavo

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •