Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Login con cookie

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    129

    Login con cookie

    Salve a tutti!!! Sto facendo un sito in cui bisogna loggarsi per poter accedere a certe pagine (tipo prenotazione biglietti). Il mio problema è come fare una volta che l'utente si logga a tener traccia di esso e sapere se farlo o meno entrare in certe pagine!

    Mi ha detto un mio amico che bisogna lavorare con le cookie dell'utente, ma nn so come si faccia ,qualcuno sa darmi una mano?
    Grazie

  2. #2
    quando un utente ad esempio si registra inviagli un cookie; poi se vuoi che quell'utente possa visualzizare certe pagine recupera il cookie e verifica il contenuto: se il cookie esiste allora ok, visualziza la pagina altrimenti visualizza un messaggio di errore.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    129
    sai dove posso trovare questi comandi per settare i cookie e per il loro controllo?
    GraziE!!

  4. #4
    perinviare un cookie basta il comando setcookie:

    setcookie('pippo',5,$durata);

    pippo è il nome del cookie, 5 è il suo valore (può essere alfanumerico) e $durata è la durata del cookie in secondi. Quando poi passi alla pagina che deve controllare il cookie devi recuperarlo con

    $cookie = $_COOKIE['pippo'];
    if (empty($cookie)) {
    // il cookie è vuoto, quindi l'utente che cerca di accedere alla pagina non ne ha diritto
    echo "spiacente, devi registrarti!";
    header("Location: registrati.php");
    } else {
    // il cookie c'è quindi l'utente può vedere la pagina
    echo "ok, puoi continuare!";
    }

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    129
    Ho fatto come mi hai detto.. Ho fatto che quando uno si logga, controllo il cookie se nn è settato allora vado a controllare se ha inserito giustamente l'user e la password e se è tutto corretto scrivo il cookie nuovo. Se invece il cookie e' gia' presente mi dice che l'utente è già loggato.
    Pero' mi da degli errori

    Notice: Undefined index: login
    Warning: Cannot modify header information - headers already sent by (output started at c:\programmi\easyphp1-8\www\sito con front\entra.php:10)
    Warning: Cannot modify header information - headers already sent by (output started at c:\programmi\easyphp1-8\www\sito con front\entra.php:10)

    In poche parole mi loggo e vengono fuori questi errori..inoltre la pagina non viene reindirizzata,come mai?

    GRAZIE!!!!

    Codice PHP:

        $time 
    =time();    

        
    $user $_POST['user'];
        
    $psw $_POST['passwd'];    
        
        
    $cookie $_COOKIE['login'];
        if (empty(
    $cookie)) 
        {
        
    // il cookie è vuoto
        
    $id_conness mysql_connect("localhost","root","") or die ("Connessione impossibile");
        
    mysql_selectdb("cinema",$id_conness);
        
    //query sql            
        
    $query "SELECT matricola,nome FROM utenti WHERE user = '$user' AND passwd='$psw' ";
        
    $id_risult=mysql_query($query,$id_conness);
        if(!
    $id_risult) {echo "Lettura impossibile, errore n° ",mysql_errno(),". ",mysql_error(),".";}
        
    $pers=mysql_fetch_array($id_risult,MYSQL_ASSOC);
        
    $codice $pers['matricola'];
        
        if (
    $codice==NULL
                 {
                     
    header("Refresh: 5;URL=index.htm");
                    echo 
    '<div align="center">Hai inserito dati non corretti ... attendi il reindirizzamento</div>';
                    
                 }
                else  
                {
                    
    setcookie('login',$codice,$time 600);
                    
    header("Refresh: 5;URL=index.htm");
                    echo 
    '<div align="center">Ciao '.$user.' ... attendi il reindirizzamento</div>';
                }
        }
        else
        
    header("Refresh: 5;URL=index.htm");
        echo 
    '<div align="center">Sei gia connesso ... attendi il reindirizzamento</div>'

  6. #6
    l'errore avviene perchè non si può inviare dei dati dopo che lo ha già fatto il primo header della pagina, cioè il tag HTML. Pertanto lintero script devi spostarlo prima del tag <HTML> suddetto.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.