Visualizzazione risultati 1 fino 18 di 18

Discussione: [php] login e sapere se è stato effettuato

  1. #1
    Guest

    Exclamation [php] login e sapere se è stato effettuato

    ho fatto un form che, con l'inserimento dei dati da parte dell'utente, crea una nuova riga in una tabella del db con questi dati:
    user_id, user_name, user_pass, user_datareg (data di registrazione)..
    e funziona benissimo..
    il problema è ke non so come fare per il login dell'utente..
    dovrei fare un form con le voci "user" e "password", e verificare sul database se sono presenti... o sbaglio???
    e poi mi servirebbe un blocco di codice da inserire in tutte le pagine ke verifichi se e quale utente si è loggato... spero non si debba x forza farlo con i cookies, se c'è un'altra soluzione è meglio, se no imparerò coi cookie...

    grazie

  2. #2
    Guest

    Predefinito

    Hai già fatto qualche ricerca nel forum? Se n'è parlato più volte anche con esempi.


    Ciaoo!!!

  3. #3
    Guest

    Predefinito

    lo so.. ho cercato infatti.. ho anche provato con i cookies, gli ho creati e ho provato qualcosa, ma non gli capisco molto bene.. chiedevo se c'era un altro modo... se non c'è prego qualcuno di aiutarmi con 'sti cookies, ke non credo siano poi così difficili... grazie

  4. #4
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    In quello che ho fatto io non servono i cookie, si usa qualcosa di simile, cioè le sessioni. Allora, questo è il codice che ti consente di inserire un modulo di accesso (dove ci sono gli ***** semplicemente c'è il nome del tuo progetto):
    Codice PHP:
    <?php
    session_start
    ();

    // controlla se è impostato il valore di accesso
    if (!isset($_SESSION["login"])) { ?>
    <TABLE>
    <TR>
    <TH>ACCESSO NON EFFETTUATO</TH>
    </TR>
    <TR>
    <TD><P>Per accedere a *****, inserisci il tuo nome utente e la password:</P>
    <FORM NAME="login" METHOD="post" ACTION="login.php">
    <P><B>Nome utente</B>:<BR><INPUT TYPE="text" NAME="user"></P>
    <P><B>Password</B>:<BR><INPUT TYPE="password" NAME="pwd"></P>
    <P><INPUT TYPE="submit" VALUE="Accedi a *****"></P>
    </FORM>
    </TABLE>

    <?php } else {
    $user = $_SESSION["login"];

    $query = "SELECT user_name FROM UTENTI WHERE user_id = $user";

    $result = mysql_query ($query, $db);

    $line = mysql_fetch_array ($result);
    $ret_user = $line["user_name"];
    ?>
    <TABLE>
    <TR>
    <TH>ACCESSO EFFETTUATO</TH>
    </TR>
    <TR>
    <TD><P>Benvenuto in *****, <B><?php echo ($ret_user); ?></B>!</P>
    <FORM NAME="login" METHOD="post" ACTION="logout.php">
    <P><INPUT TYPE="submit" VALUE="Esci da *****"></P>
    </FORM>
    </TABLE>
    <?php } ?>
    Come puoi notare, ci sono altri due file che devi realizzare:
    - un file chiamato login.php che effettua l'operazione di login (beh, si può fare molto meglio di così):
    Codice PHP:
    <?php
    $query
    = "SELECT user_id, user_name FROM UTENTI WHERE user_name = '" . $_POST['user'] . "' AND user_pass = '" . $_POST['pwd'] . "'";

    $result = mysql_query ($query, $db);

    if (
    mysql_affected_rows ($db) > 0) {
    $line = mysql_fetch_array ($result);
    $_SESSION["login"] = $line["user_id"];
    ?>
    <P>Benvenuto in *****, <B><?php echo $line["user_name"] ?></B></P>
    </DIV>

    <?php } else { ?>
    <P>***** non ti ha riconosciuto: sicuro di aver scritto bene nome utente e password?</P>
    </DIV>
    <?php } ?>
    - e un file chiamato logout.php, in cui semplicemente disimposti la variabile di sessione (si fa con unset($_SESSION['login']), non sto qui a scriverti tutto il codice!)

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  5. #5
    Guest

    Predefinito

    grazie.. lo provo un pò e vi faccio saxe..

  6. #6
    Guest

    Predefinito

    il login funziona benissimo; entra nella pagina login.php e mi dice "Benvenuto Nome Utente"..
    ma una volta effettuato se vado in una pagina con lo stesso codice della prima, al posto del "logout", mi dice ancora ACCESSO NON EFFETTUATO ed esce il form del login...
    cosa devo fare??? cambiando pagina la sessione resta "aperta" o no??
    grazie

  7. #7
    Guest

    Predefinito

    la sessione resta aperta fintanto che il browser da cui è stata aperta resta aperto, anche se cambi sito mille volte.
    non è un gioco di parole

  8. #8
    Guest

    Predefinito

    Siiiiiiiiiiiiii
    mi sono andato a vedere qualcosa sulle sessioni in google e ho provato a cambiare il codice.. adesso funge ke è un piacere...
    se qualcuno vuole usare questo codice deve cambiare un paio di cose nella pagina login.php...
    Ultima modifica di LigaSpagnola : 29-01-2006 alle ore 12.56.57

  9. #9
    Guest

    Predefinito

    Visto che si è parlato delle sessioni, metto qui la domanda che volevo fare da tempo: da qualche parte posso trovare una documentazione abbastanza completa per imparare a gestirle? Su FREEPHP.it, che è il sito dove prendo solitamente la documentazione non ce n'è traccia.

  10. #10
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    [4 grecistiuniti] Ti do un link a un altro mio post in cui ti spiego quali sono le istruzioni che ti possono essere utili: http://forum.altervista.org/showpost...82&postcount=7

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  11. #11
    Guest

    Predefinito

    Ho visto. Grazie mille, è tutto molto chiaro. Credevo che l'argomento fosse molto vasto e complesso, ma effettivamente quello che mi può servire è tutto dentro lì.
    Ciao ciao.

  12. #12
    Guest

    Predefinito

    guarda nella sezion e how to ce ne uno fatto da guido ke o provaot e funge bene ed e semplicissimo

  13. #13
    Guest

    Predefinito

    mmm comq non riesco a far eil logut e mi da problemi sul creare il login qualcuno ek conrtesementre mi aiutA?

  14. #14
    Guest

    Predefinito

    posta il codice degli script che stai usando e l'output dell'errore.

  15. #15
    Guest

    Predefinito

    <?php

    $db_hostname = "localhost";
    $db_username = "username";
    $db_password = "password";
    $db_name = "my_database";

    $dbcon = mysql_connect($db_hostname, $db_username, $db_password);
    mysql_select_db("$db_name");



    $login = " <p><span class=\"genmed\">
    <form action=\"forum/login.php\" method=\"post\">
    <input value=\"../index.php\" name=\"redirect\" type=\"hidden\">
    Username:<br /><input size=\"15\" name=\"username\" type=\"text\" class=\"post\"><br />
    Password:<br /><input size=\"15\" name=\"password\" type=\"password\" class=\"post\"><br />
    <br />
    <input value=\"ON\" name=\"autologin\" type=\"hidden\">
    <input value=\"Login\" name=\"login\" class=\"mainoption\" type=\"submit\"></form><br /><br />
    <a class=\"gensmall\" href=\"forum/profile.php?mode=sendpassword\">Ho dimenticato la password</a><br />
    <br />
    Non hai ancora un account?<br />
    Ti puoi <a href=\"forum/profile.php?mode=register\">registrare</a> gratuitamente</span>
    </span></p>\n";



    if (isset($HTTP_COOKIE_VARS[tfkbb2log_sid])) {

    $session_id = $HTTP_COOKIE_VARS[tfkbb2log_sid];


    $query = "SELECT session_id, session_user_id, session_logged_in FROM bb_sessions WHERE session_id='$session_id'";
    $result = mysql_query($query, $dbcon);
    $row = mysql_fetch_array($result);


    if ($session_id === $row[session_id]) {


    if ($row[session_logged_in] == "1") {
    $query2 = "SELECT username FROM bb_users WHERE user_id='$row[session_user_id]'";
    $result2 = mysql_query($query2, $dbcon);
    $row2 = mysql_fetch_array($result2);

    echo "Benvenuto $row2[username]";

    }
    else {
    echo $login;
    }
    }
    else {
    echo $login;
    }
    }
    else {
    echo $login;
    }
    ?>
    non mi da errori particolari ma non se po logga e tutto sballato se voi lo uppo e ti linko la pag

  16. #16
    Guest

    Predefinito

    Ang sei invitato ad usare il tasto edita invece che postare consecutivamente.
    Inoltre sarebbe buona norma postare codici abbastanza lunghi tra i tag appositi che trovi in alto a destra del form per postare ([ code ] oppure [ html ] ecc)


    Ciao!

  17. #17
    Guest

    Predefinito

    azz scusatemi ma ste regole non le so una bella ripassatina ce vole XD

  18. #18
    Guest

    Predefinito

    La risposta che cerchi è quasi certamente su questa guida:
    http://freephp.html.it/guide/lezioni.asp?idguida=8.

    ciao

Regole di scrittura

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