Visualizzazione risultati 1 fino 8 di 8

Discussione: problemi con i cookie

  1. #1
    Guest

    Predefinito problemi con i cookie

    Salve a tutti.

    Sono 2 giorni che sto impazzendo con i cookie vi spiego.

    Ho 2 pagine la prima homepage.php e la seconda login.php, nella homepage vi ho un form per identificare gli utenti con campi login e password.
    Il Form indirizza alla pagina login dove viene interogato il database se i dati inserito nel form sono corretti se si i dati vengono salvati in 2 cookie fatto questo vl'utente viene reindirizzato alla home page.

    Codice PHP:
    setcookie("Login",$_POST["login"]);
    setcookie("Password",$_POST["password"]);
    header("Location; ".$_SERVER["HTTP_REFERE"]
    il fatto e che nella pagina login se tolgo l'header e metto un echo li vedo i cookie mentre con l'header nella pagina home non li vedo e non capisco il perchè.

    Ho porvato pure a fare un link per disconnettere l'utente il link indirizza alla pagina loginoff dove vi è questo script:

    Codice PHP:
    ob_start();
    setcookie("IDU","");
    setcookie("SitoWeb","");
    echo
    $_COOKIE["IDU"];
    ob_end_flush();
    ma il cookie non lo vedo ma se metto un isset($_COOKIE["login"]) mi dice che esiste.

    Sto impazzendo vi rpego aiutatemi.

  2. #2
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Prova a stampare tutto con

    Codice PHP:
    print_r($_COOKIE)


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  3. #3
    Guest

    Predefinito

    mi da questo:

    Array ( [__utma] => 32141806.1128100512.1224673216.1224673216.12272026 30.2 [__utmz] => 32141806.1227202630.2.2.utmccn=(referral)|utmcsr=s 36.altervista.org|utmcct=/login.pl|utmcmd=referral [PHPSESSID] => a410e2effdf127b83b02a13d6c81623f )

  4. #4
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Usa sempre il tag [CODE ], altrimenti il codice non risulta molto leggibile.

    Avrai visto che quelle chiavi non ci sono.

    Prova a togliere quell'header location e genera al suo posto una pagina HTML che contiene il metatag 'refresh'. Sarebbe la classica pagina "Login effettuato, attendi due secondi". In questo modo siamo sicuri che i cookie arrivino a destinazione.


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  5. #5
    Guest

    Predefinito

    quindi tu dici che è dovuto alla lentezza dei salvataggi dei cookie????

    EDIT: ma io ho fatto anche un link per disconnettersi senza header per vedere se ce o no il cookie:

    setcookie("IDU","");
    setcookie("SitoWeb","");
    if(isset($_COOKIE["IDU"])){
    echo "cookie non esistente";
    }else{
    echo $_GET["IDU"];
    }

    e mi da pagina bianca

    EDIT: niente anche come dici tu con un reindirizzamento con javascript và

    il fatto strano che nella pagina login.php nel frattempo che si aspetta di essere rendirizzato ho stampato un cookie
    Codice PHP:
    echo $_COOKIE["Login"];
    e me lo da me lo salva nel cookie ma è nella home page quando ritorno ho messo lo stesso echo ma non me lo da
    Ultima modifica di debug : 16-01-2009 alle ore 12.48.30

  6. #6
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Non è una questione di lentezza, ma il fatto che un cookie, per cominciare ad esistere, deve essere ricevuto e reinviato dal browser. Praticamente esistono solo a partire dalla pagina successiva a quella in cui li hai creati.

    Il tuo ultimo esempio non può funzionare perché i imposti e tenti di leggere i cookie sulla stessa pagina.


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  7. #7
    Guest

    Predefinito

    sai ho risolto

    ho messo nel setcookie questo
    setcookie("login",$_POST["login"],"time()+3600","/")

    era il slash naturalmente così comera prima il cokie esisteva solo nella pagina home invece che ne tutto il sito web.

    Comunque grazie tanto.

    A approposito anche con header funziona nons ercve lo script.

    EDIT: ora vorrei chiederti se non è troppo ce un modo che i cookies non scadano????? ossia che scadano solo dopo aver chiuso il browser
    Ultima modifica di debug : 16-01-2009 alle ore 13.20.18

  8. #8
    Guest

    Predefinito

    Se vuoi che i cookie si cancellino dopo la chiusura del browser basta non impostare il tempo di durata.

Regole di scrittura

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