Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    111

    session eliminata in seguito a header

    ho un pagina dinamica così schematizzata:

    Codice PHP:
    if (!sessionsession start;


    /*
    inizio include di un file. diverse di queste pagine possono 
    produrre messaggi d'errore che vengono raccolti nella session
    */
    include(file) { 

      if (
    form submit) {
        
    //codice della pagina...
        
    if (errorisession['msg'] .= "messaggio d'errore";
        
    header (questa pagina); 

        
    /*
        voglio prevenire l'esecuzione del codice sottostante
        se ci sono stati errori nella prima parte.


        ...altro codice...
        */
        
    if(tutto ok) {
          
    session['msg'] .= "tutto ok";
          
    header(questa pagina ma con include differente);
        }
      }
    // fine include

    if (session['msg']!==""){
      echo 
    session['msg'];
      
    session['msg']="";

    stranamente l'echo alla fine della pagina non mostra nulla e session['msg'] risulta vuota. accade lo stesso utilizzando un cookie.
    se però commento gli header risolvo il problema. ma che succede? perchè quella session o il cookie non vengono conservati dopo il reload? la session di autenticazione con il nome utente viene gestita correttamente.

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    111
    Originariamente inviato da filippo.toso
    Ti suggerisco di leggere questo articolo:

    Effettuare un redirect con header location e propagare le sessioni
    VVoVe:
    ma.. allora non avevo capito niente! che rivelazione shockante

    ma come mai quando si carica la pagina usando un normale link anzichè un header le session rimangono disponibili? inoltre non ho riscontrato alcun problema con la session che uso per l'autenticazione degli utenti, che posso chiamare quando voglio anche dopo il redirect

    (mi piacerebbe verificare subito se ciò che ho scritto è l'ennesima cazzata, ma ho un problemino la macchina con cui sto lavorando che non potrò risolvere se non entro qualche giorno)

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    111
    confermo che la session dove metto il nome utente rimane sempre li, posso chiamare quanti header mi pare.
    non uso alcun accorgimento particolare, infatti pensavo che questo fosse il comportamento normale.

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.