Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    154

    Problema Php E Session!

    Salve ragazzi! ho una sito che per il login usa delle session così da poter rimanere loggato durante la navigazione!
    il probelma è che io questo sito prima l'ho fatto in asp e poi sono dovuto passare a php! in ASP tutto tranquillo invece in PHP ho dei problemi con quel session_start()! il mio sito è costituito da una porzione di pagina che in base a quello passato nella querystirng carica altre pagine sotto di essa. è un po' il funzionamento dei frame fatto in php quindi suppongo utilizzabile.
    vi posto le porzioni di codice
    porzione index.php
    codice:
    <?php
    session_start();
    $_SESSION['mex_session']="";
    $_SESSION['dati_session']="";
    $_SESSION['log_session']="";
    ?>
    questa pagina viene sempre ricaricata e per questo perdo sempre il contenuto delle mie session!
    non essendo completamente stupido ho provato con:
    codice:
    <?php
    session_start();
    $_SESSION['mex_session'];
    $_SESSION['dati_session'];
    $_SESSION['log_session'];
    ?>
    ma ricevo questo errore:
    _Notice: Undefined index: dati_session in C:\wamp\www\simpac\index.php on line_5
    _Notice: Undefined index: dati_session in C:\wamp\www\simpac\index.php on line_6
    _Notice: Undefined index: dati_session in C:\wamp\www\simpac\index.php on line_7
    Queste righe sono le tre righe dopo session_start();

    Notice: Undefined index: mex_session in C:\wamp\www\simpac\index.php on line_56
    Ricevo anche questo errore e alla linea 56 cerco di leggere la session['mex_session']

    Altro mio tentativo è stato:
    codice:
    <?php
    	session_start();
    ?>
    ricevo questo errore: Notice: Undefined index: mex_session in C:\wamp\www\simpac\index.php on line_53
    stesso di prima dove cerco di leggere la session['mex_session'].

    Ultimo mio tentativo è stato quello di creare un'altra pagina contenente soltanto il seguente codice
    codice:
    <?php
    session_start();
    $_SESSION['mex_session']="";
    $_SESSION['dati_session']="";
    $_SESSION['log_session']="";
    header("location: http://localhost/simpac/index.php?d=home");
    ?>
    questa pagina viene richiamata solo e solamente quando accedo al sito per la prima volta. Ricevo lo stesso errore sopra descritto cioè:
    Notice: Undefined index: mex_session in C:\wamp\www\simpac\index.php on line_53
    Io passo dei dati presi dal form di registrazione ad una pagina che li elabora e li salva nei relativi database e poi scrivo questo codice:
    codice:
    <?php
    $_SESSION['mex_session'] = "REGISTRATI ALLA NEWS LETTER!";
    $_SESSION['log_session'] = true;
    $_SESSION['dati_session']= $email;
    header("location: http://localhost/simpac/index.php?d=registrazioneok");
    ?>
    noterete che appena prima di indirizzarmi in un'altra pagina sistemo i valori nelle relative session!
    Però nella pagina successiva il codice
    codice:
    <?php echo "session: ".$_SESSION['mex_session']; ?>
    mi restituisce “sessione: “
    la pagina prima di eseguire questo codice riesegue la pagina index.php che però non ha alcun codice riguardante le session se non quello di lettura che restituisce errore!

    Adesso che ho concluso la descrizione dei miei tentativi chiedo a voi =( come posso far si che le session non si cancellino?

    Grazie molte!

  2. #2
    Devi sempre mettere session_start() in ogni pagina che debba usare le sessioni: sia quando inserisci dei dati sia quando li devi estrarre. Non ho comunque capito bene la sequenza delle tue prove, comunque guarda questo esempio ridotto al minimo:

    File: page1.php
    Codice PHP:
    <?php
    session_start
    ();

    $_SESSION['test'] = "Contenuto di prova";
    ?>

    [url="page2.php"]pagina 2[/url]
    File: page2.php
    Codice PHP:
    <?php
    session_start
    ();

    var_dump($_SESSION['test']);

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    154
    Grazie! però io ho provato a modificare il tuo codice semplicemente
    codice:
    <?php 
    session_start(); 
    
    var_dump($_SESSION['test']);
    echo $SESSION['test'];
    ?>
    mi restituisce questo errore: Undefined variable: SESSION

  4. #4
    codice:
    $_SESSION
    e' diverso da
    codice:
    $SESSION

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    154
    scusate mi sono accorto del colossale errore! lasciate stare il mio post precedente =(

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    154
    Sisi ho chiesto scusa prima =)
    cmq come faccio a evitare che questa porzione di codice
    Codice PHP:
    session_start(); 
    $_SESSION['mex_session']="";
     
    $_SESSION['dati_session']=""
    $_SESSION['log_session']=""
    venga eseguita quando le session contengono già qualcosa ma venga eseguita la prima volta che entro nel sito?

  7. #7

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    154
    EDIT!

    Non si è risolto niente! xk adesso la prima volta che apro il sito mi dice che le session non esistono!

  9. #9
    Non capisco, e' chiaro che prima di crearle non esistono. Ma quando fai il login riempi le variabili di sessione con i valori relativi all'utente, no?

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    154
    Ho risolto per davvero =) controllo se è gia istanziata con un semplice isset e se è gia istanziata non lo rifaccio =) tutto qui =)
    Grazie!

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.