Visualizzazione dei risultati da 1 a 6 su 6

Discussione: abilitazione sessioni

  1. #1

    abilitazione sessioni

    ciao! sono nuova sia del forum sia di php (programmo in asp e un po' .net).
    A casa facevo degli esperimenti su un banalissimo modulo di login, ma mi da degli errori strano quando cerco di impostare le variabili di sessione, e poi quando cambio pagina non le mantiene....
    c'è da cambiare qualcosa nel php.ini? mi potete scrivere il pezzo giusto del php.ini x le sessioni?
    Se valorizzo la variabile di sessione in cima alla pagina me la mantiene solo nella stessa pagina...

  2. #2
    se puoi riporta qui il tuo modulo di login, a patto che sia in PHP..

  3. #3
    di default le impostazioni permettono di usare le sessioni senza problemi

    hai fatto una cosa di questo tipo:

    Codice PHP:
    session_start();
    if(
    checkLogin($_POST['user'], $_POST['pass'])) {
       
    $_SESSION['logged'] = true;


    (ovviamente è moooooooolto banalizzato)
    www.gext.it

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    Che erorre ti da?
    Hai fatto "session_start()" all'inizio di OGNI pagina?

  5. #5
    ahhh all'inizio di OGNI pagina???
    allora sarà quello....
    sì tarini, una cosa così era

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    Originariamente inviato da evelimpia
    ahhh all'inizio di OGNI pagina???
    L'array $_SESSION non viene valorizzato con i corretti valori (nè i valori eventualmente immessi verranno realmente salvati nella sessione) se prima non viene fatta l'istruzione session_start()

    Per questo motivo, se usi le sessioni, devi per forza mettere l'istruzione session_start() all'inizio del codice php (non all'inizio delle eventuali pagine incluse pero!)

    Di solito io ho una funzione chiamata all'inizio di ogni pagina
    Codice PHP:
    function openSession()
    {
      if(!isset(
    $GLOBALS["opened"]) or !$GLOBALS["opened"])
        
    session_start();
      
    $GLOBALS["opened"] = true;

    Questa funzioncina può essere chiamata da OGNI pagina (anche quelle incluse) poichè la variabile globale $opened mi garantisce che se la funzione è stata già eseguita, non effettuerà una seconda volta session_start(), così, se una determinata pagina (che prima era autonoma e quindi aveva bisogno di session_start()) diventa "inclusa" (tramite include o require) dentro un'altra pagina, continua a funzionare

    In realtà uso un "singleton" per le informazioni "globali", ma così è di più rapida comprensione

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 © 2024 vBulletin Solutions, Inc. All rights reserved.