• User

    Cookie in php! Come si usano?

    Buon pomeriggio a tutti! Sono al mio primo face-to-face con i cookie...o perlomeno credo di doverli usare, e sono disperata:(!
    Classica situazione...fatto il login-in di un utente voglio tenerlo in memoria durante tutta la sua permanenza nella mia area riservata, che in pratica consiste in una sola form(pagina di inserimento dati e pagina di risposta) in cui l'utente registrato può inserire dati per effettuare una determinata richiesta.
    Ora...io ho messo nello script autentica.php (che è lo script richiamato dal submit della form in cui l'utente inserisce Username e password) la seguente istruzione:

    [URL="file://\autentica.php"]\autentica.php
    setcookie("Utente",$UN,0,"..\areaRiservata/richiedi.php");
    -$UN è una variabile definita dentro autentica.php e che viene riconsciuta, (quindi non è questa a darmi problemi)

    E poi, nello script richiedi.php, che viene richiamato da un submit in autentica.php

    [URL="file://\richiedi.php"]\richiedi.php
    <?php
    if(!empty($_COOKIE)) [URL="file://\ho"]\ho usato $_COOKIE perchè ho php5
    {echo "cookie settato"; }
    ?>

    ....ma la stampa non avviene,
    e se faccio il controllo opposto:

    if(empty($_COOKIE))
    {echo "cookie non settato"; }

    ...non stampa nulla lo stesso.

    Ora chiedo a voi che ci capite qualcosa:
    -c'è qualcosa di sbagliato? O meglio, cosa c'è di sbagliato?
    -per usare i cookie si deve modificare qualche parametro in php.ini?
    -l'utilizzo dei cookie richiede solo php o anche altro, tipo javascript o non so che?
    -dove devo controllare se i cookie sono disabilitati nel ,mio browser?
    -visto che autentica.php e richiedi.php sono divise in <div>, può entrarci qualcosa il div in cui io inserisco le sezioni di codice php?
    -all'interno della funzione setcookie le variabili (nel mio esempio $UN) vanno richiamate tra apici, doppi apici o senza nulla?

    Non vorrei avervi appallato :sonno:troppo con tutte ste domande, ma ho 1.000 dubbi e non so che fare:bho:. Spero possiate aiutarmi! Grazie!!! 🙂


  • User Attivo

    non ho mai usato i cookie ma le sessioni sono davvero semplici


  • User

    Dici? Il fatto è che a prima vista mi erano sembrati più semplici...visto che non ho mai usato nè le une nè gli altri.
    Ora provo a vedere se riesco con le sessioni...in caso contrario...mi aiuterai vero??? Vabbè..a lavoro!!! Ti farò sapere!


  • User Attivo

    le sessioni,
    all'inizio della pagina devi metterci session_start();
    per creare una sessione
    $_SESSION['admin'] = $username;

    if(isset($_SESSION['admin']))
    //vedi pannello admin
    else
    //non hai accesso

    logout fai session_destroy();

    speigate molto "brutalmente" 😄


  • User

    Allora...innanzitutto...ho provato a mettere in autentica.php, (all'inizio della pagina cioè prima del tag <html>...vero?):

    <?php
    session_start();
    $_SESSION['utente'] = "io";
    ?>
    (provo con una costante prima di mettere la variabile, giusto per vedere se funziona) e in autentica.php ho finito.

    Dopo di che, in richiedi.php ho messo, sempre prima di <html>:

    <?php
    session_start();
    $ut=$_SESSION['utente'];
    ?>

    se poi vado a fare la stampa, dentro il codice html in richiedi.php :
    <?php
    echo $ut;
    ?>
    ...non mi stampa nulla!

    Ora...cosa ho sbagliato? :bho:


  • User Attivo

    fai echo $_SESSION['utente'];


  • User

    Notice: Undefined index: utente in ...\richiedi.php on line 28

    Ecco l'errore che mi da! Uff!:(

    In più, se provo a stampare nella stessa pag in cui dichiaro la variabile di sessione mi dà questo errore:
    Notice: Undefined variable: _SESSION in ..\autentica.php on line 25.
    Perchè??????????????????


  • User

    :DHo risolto tutto con le seessioni...evidentemente avevo fatto qualche imprecisione!!! Grazie a chi ha provato ad aiutarmi!


  • User Attivo

    Prego, sono contento che hai risolto se un mio ulteriore aiuto, buona giornata