Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    problema con le sessioni

    Ciao a tutti,
    mi ritrovo con il seguente problema:
    in una pagina (pagina x) passo via get l'id di un seminario. Se l'id è numerico dalla stessa pagina richiamo il metodo di una classe che è il seguente:

    Codice PHP:
    //FUNZIONE CHE AGGIUNGE IL SEMINARIO IN SESSIONE IN UN ARRAY
        
    public function aggiungiSeminarioSessione($IdSeminario){
            if(
    is_numeric($IdSeminario)){
                
    //SE NON ESISTE ANCORA UNA SESSIONE CHE CONTIENE I SEMINARI INTERESSATI LA CREO
                
    if (!isset($_SESSION[SeminariFocus])){
                    
    session_start();
                    
    $_SESSION["SeminariFocus"];
                }
                
    //SE ESISTE GIA'
                    //CONTROLLO CHE IL SEMINARIO NON SIA GIA' INSERITO FRA I SEMINARI INTERESSATI
                
    session_start();
                if(!
    in_array($IdSeminario,$_SESSION["SeminariFocus"])){
                    
    //ALTRIMENTI LO INSERISCO
                    
    session_start();
                    
    $_SESSION["SeminariFocus"][]=$IdSeminario;
                }
            } else {
                
    $this->redirect("seminari.php");
            }
        } 
    Sostanzialmente il codice funziona e fa il suo dovere solo se in quella pagina x io effettuo il refresh della pagina, altrimenti non memorizza niente.
    Non riesco a capire dove possa essere il problema, qualche illumiazione???
    E buon natale

  2. #2
    Preciso che nella pagina x mi comporto così:
    Codice PHP:
    $classe= new Iscritti;
    $aggiungiSeminario=$classe->aggiungiSeminarioSessione($_GET["IdSeminario"]); 

  3. #3
    Utente di HTML.it L'avatar di garakkio
    Registrato dal
    Dec 2011
    residenza
    Roma
    Messaggi
    480
    Non devi usare session_start() in quel modo. Devi richiamare session_start() prima di usare $_SESSION
    Inoltre sarebbe il caso di passare $_SESSION a qualsiasi funzione invece di usare $_SESSION stessa come global (purtroppo questo cattivo comportamento è incoraggiato da php)

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.