Visualizzazione risultati 1 fino 7 di 7

Discussione: creare il file di log-in

  1. #1
    Guest

    Predefinito creare il file di log-in

    io ho creato un sistema in php per registrare gli utenti ho creato il file parte1utenti.php
    Codice:
    <doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html><!--tuttosultennis@copyright 2008//-->
    <head>
    <title>Iscriviti al mio sito!</title>
    </head>
    <body>
    Iscriviti al mio sito, cosi potrai accedere alle aree riservate. La procedura è semplice: compila il modulo sottostante. Ti ricordo che i campi segnati con l'asterisco (*) sono obbligatori.
    <form name="modulo" action="parte_2_utenti.php" method="post">
    <table>
    <tr><td>Scegli un username*:</td><td><input type="text" name="ob_username" size="12" maxlength="12"></td></tr>
    <tr><td>Scegli una password*:</td><td><input type="password" name="ob_password" size="12" maxlength="12"></td></tr>
    <tr><td>Nome:</td><td><input type="text" name="nome" size="20" maxlength="30"></td></tr>
    <tr><td>Cognome:</td><td><input type="text" name="cognome" size="20" maxlength="30"></td></tr>
    <tr><td>Indirizzo:</td><td><input type="text" name="indirizzo" size="40" maxlength="200"></td></tr>
    <tr><td>Città:</td><td><input type="text" name="citta" size="40" maxlength="100"></td></tr>
    <tr><td>Email*:</td><td><input type="text" name="ob_indirizzo_email" size="40" maxlength="100"></td></tr>
    <tr><td>Data di nascita:</td><td>
    <select name="giorno">
    <?php
    
    /**
     *
     *
     * @version php5.0 $Id$
     *tuttosultennis@copyright 2008
     */
    for ($i=1;$i<32;$i++){
    echo "<option value=\"$i\">$i</option>\n";
    }
    ?>
    </select>
    <select name="mese">
    <?php
    
    /**
     *
     *
     * @version php5.0 $Id$
     *tuttosultennis@copyright 2008
     */
    for ($i=1;$i<13;$i++){
    echo "<option value=\"$i\">$i</option>\n";
    }
    ?>
    </select>
    <select name="anno">
    <?php
    
    /**
     *
     *
     * @version php5.0 $Id$
     *tuttosultennis@copyright 2008
     */
    for ($i=1920;$i<2015;$i++){
    echo "<option value=\"$i\">$i</option>\n";
    }
    ?>
    </select>
    
    </td></tr>
    <tr>
    <td colspan="2" align="center"><input type="submit" value="iscriviti!" name="invio">
    </tr>
    </table>
    </form>
    </body>
    </html>
    e il file parte_2_utenti.php
    Codice:
    <?php
      $connessione=mysql_connect("localhost", "tuttosultennis", "*******");
      $selezione_db=mysql_select_db("my_tuttosultennis", $connessione);
    ?>
    <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
    <!--copyrigt2008 by tuttosultenns //-->
    <html>
    <head>
    <title>iscrizione in corso...</title>
    </head>
    <body>
    <?php
    $flag_controllo=0;
    while(list($chiave, $valore)=each($_POST)){
    if(substr($chiave,0,3)=="ob_"){
    if($valore ==""){
    echo "non hai compilato il campo obbligatorio $chiave, l'iscrizione non può essere processata.";
    $flag_controllo=1;
    break;
    }
    }
    }
    if($flag_controllo==0){
    $stringa_query="insert into u (a,b,c,d,e,f) values(\"$_POST[ob_username]\",\"$_POST[ob_password]\",\"$_POST[nome]\",\"$_POST[ob_indirizzo_email]\",\"$data_nascita\",now())";
    $iscrizione_utente=mysql_query($stringa_query) or die(mysql_error());
    echo: " iscrizione avvenuta con successo";
    }
    ?>
    vorrei sapere come posso creare il log-in ec come posso se log-in effettuato scrivere in alto alla pagina benvenuto nomeutente
    Ultima modifica di debug : 31-08-2008 alle ore 10.01.00

  2. #2
    Guest

    Predefinito

    Per-piacere puoi-scrivere login, senza il trattino:)
    Dato che sembra tu sappia usare un po' di php e mysql:

    1- form per il login (campo nome+password)
    2- form per la registrazione (campo nome+password + quelli che vuoi)
    3- pagina di collegamento al database che all'invio della registrazione prenda i dati e li 'scriva' su database
    3- pagina di login che dopo l'invio del form login controlli nel database se esiste l'utente e che la password sia giusta, dopodiche setta una sessione con il nome utente e con la variabile di login effettuato
    4- nelle pagine che vuoi metti un controllo (semplice IF) per vedere se è collegato, in caso positivo stampi a video il nome utente precedentemente registrato nel login in una sessione.

    Per il resto il forum è pieno zeppo di esempi e domande simili alla tua:D
    Ho voluto farti una panoramica anche se vedo che hai già scritto alcune righe di codice...

    [simpatia=on] Se hai dubbi qui debug ha dato un'ottima spiegazione su come creare un login: http://forum.it.altervista.org/php-m...-di-login.html [simpatia=off]
    Ultima modifica di comunitavirtuali : 30-08-2008 alle ore 22.24.15

  3. #3
    Guest

    Predefinito

    i punti fino alla 3 ci sono gia nelle pagina che sopra ti ho fatto vedere pero non so come fare a far controllare al database (punto 3)

  4. #4
    Guest

    Predefinito

    Scrolli il database e controlli se user e password sono uguali a quelle da te immesse:

    Esempio:
    Codice PHP:
    $check = mysql_query("SELECT * FROM utenti WHERE username = '$username'")or die(mysql_error());
    while(
    $info = mysql_fetch_array( $check ))
    {
    if (
    $password!= $info['password'])
    {
    // non accettato
    }
    else
    {
    // accettato

    }
    O come dicono qua sotto, è più veloce e molto meglio :-P
    Purtroppo la stanchezza non risparmia nessuno... neanche me!
    Ultima modifica di comunitavirtuali : 30-08-2008 alle ore 23.29.06

  5. #5
    Guest

    Predefinito

    Potresti sostituire la query con qualcosa del tipo:
    Codice PHP:
    "SELECT * FROM utenti WHERE username = '" . $username . "' AND password = '" . md5($password) . "'"
    Ovviamente quando un utente si registra la password la salverai criptata nel database.

    In questo modo eviti di confrontare molti record del database.

    Fai attenzione a filtrare $username onde evitare sql injection.

    Ciao

  6. #6
    Guest

    Predefinito

    hey tuttosultennis non mettere la password altrimenti alcuni utenti potrebbero anke cancellare il sito oppure rubare il tuo lavoro!

  7. #7
    Guest

    Predefinito

    allora, quando slavi la password dopo la registrazione fai in moo di salvarla in md5 o sha1, questa opzione è possibile in php o mysql

    poi quando fai la pagina di login fai un qualcosa del genere:
    crea la pagina login.html e scrivici:
    Codice HTML:
    <html>
    <head>
    ...
    </head>
    <body>
    <form action="check.php" method="POST">
    username: <input name="username"><br>
    password: <input type="password" name="password"><br>
    <input type="submit" value="accedi!">
    </form>
    </body>
    </html>
    poi crei la pagina check.php e ci srivi dentro:
    Codice PHP:
    <?php
    $username
    = htmlspecialchars($_POST['username']); // consiglio htmlspecialchars o rischi ti manomettano poi la query
    $password = md5($_POST['password']);
    $conn = mysql_connect(...);
    mysql_select_db(...);
    $sql = "SELECT * FROM tabella WHERE username='" . $username . "' AND password='" . $password . "';";
    $result = mysql_query($sql);
    // se vuoi proprio essere sicuro fai così:
    $row = mysql_fetch_assoc($result);
    if (
    $username = $row['username'] AND $password = $row['password']) {
    // setta la sessione
    $_SESSION['username'] = $username;
    $_SESSION['password'] = $password; // la password è criptata
    echo 'login riuscito<br>complimenti';
    }
    else {
    echo
    'qualcosa è andato storto<br>riprova';
    }
    // se non ti interessa così tanta sicurezza:
    if ($result) {
    // setta la sessione
    $_SESSION['username'] = $username;
    $_SESSION['password'] = $password; // la password è criptata
    echo 'login riuscito<br>complimenti';
    }
    else {
    echo
    'qualcosa è andato storto<br>riprova';
    }
    }
    ora ti consiglio una funzione del tipo:
    Codice PHP:
    function is_logged() {
    if (isset(
    $_SESSION['username']) AND isset($_SESSION['passord']) {
    return
    TRUE;
    }
    else {
    return
    FALSE;
    }
    }
    e la potrai richiamare così:
    Codice PHP:
    <?php
    include 'funzione.php';
    if (
    is_logged()) {
    echo
    'bentornato ' . $_SESSION['user'];
    }
    else {
    echo
    'non hai ancora fatto il login oppure non ti sei registrato';
    }
    io uso questi codici per le mie pagine. se non hai ancora capito qualcosa posta pure, se vuoi anche la funzione che memorizzi il cookie basta che chiedi
    bene
    ciao
    lol.21

Regole di scrittura

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