Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it L'avatar di miki.
    Registrato dal
    Oct 2004
    Messaggi
    1,918

    Errore nel richiamare variabile di sessione

    da un form vado ad una pagina di login dove controllo i campi e se giusti scrivo le variabili nella sessione, altrimenti fa il redirect.

    Il problema è che dopo il redirect io chiamo le variabili di sessione, ma dice che non esistono

    pagina login
    Codice PHP:
    if($action=="login"){
        
    $query="SELECT \"user\", categoria, \"IDarea_riservata\", passw, stato FROM area_riservata WHERE \"user\" = '$_POST[user]'";
        
    $result pg_query($conn,$query);
        
    $row pg_fetch_assoc($result);
        if(
    $row['passw'] == $_POST['password']){ 
            
    session_start();
            
    $_SESSION['nome'] = $_POST['user'];
            
    $_SESSION['allow_site'] = "yes";
            
    $_SESSION['IDarea_riservata'] = $row['IDarea_riservata'];
            
    $_SESSION['stato'] = $row['stato'];
            
    $_SESSION['categoria'] = $row['categoria'];
            
    session_write_close();
            
    header ("Location:index.php");
        } else {
        
    $errore "password";
        }

    pagina index.php
    Codice PHP:
    $ID $_SESSION['IDarea_riservata']; 
    dove sbaglio?
    You cannot discover new oceans unless you have the courage to lose sight of the shore

    Caro Dio, quando nelle preghiere ti chiedevo di far morire quel pedofilo truccato, liftato,mentalmente disturbato e di colore indefinibile, non intendevo Michael Jackson.

  2. #2
    Utente di HTML.it L'avatar di miki.
    Registrato dal
    Oct 2004
    Messaggi
    1,918
    dimenticavo, nella pagina index.php c'è il session_start(); (anche se non l'avevo scritto)
    You cannot discover new oceans unless you have the courage to lose sight of the shore

    Caro Dio, quando nelle preghiere ti chiedevo di far morire quel pedofilo truccato, liftato,mentalmente disturbato e di colore indefinibile, non intendevo Michael Jackson.

  3. #3
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    prova a commentare la riga con session_write_close().


    think simple think ringo

  4. #4
    Utente di HTML.it L'avatar di miki.
    Registrato dal
    Oct 2004
    Messaggi
    1,918
    nulla da fare
    You cannot discover new oceans unless you have the courage to lose sight of the shore

    Caro Dio, quando nelle preghiere ti chiedevo di far morire quel pedofilo truccato, liftato,mentalmente disturbato e di colore indefinibile, non intendevo Michael Jackson.

  5. #5
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    prova ad inserire error_reporting(E_ALL) all'inizio di entrambe le pagine, così controlliamo ogni tipo di errore...
    think simple think ringo

  6. #6
    Utente di HTML.it L'avatar di miki.
    Registrato dal
    Oct 2004
    Messaggi
    1,918
    non legge la variabile di sessione.
    Dice che non esiste. Però facendo il refresh della pagina, allora riesce a leggere la variabile e tutto funziona.

    Praticamente è come se io creo la sessione, poi quando faccio il redirect nella pagina dopo non riesca subito a prendere le variabili.
    You cannot discover new oceans unless you have the courage to lose sight of the shore

    Caro Dio, quando nelle preghiere ti chiedevo di far morire quel pedofilo truccato, liftato,mentalmente disturbato e di colore indefinibile, non intendevo Michael Jackson.

  7. #7
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    credo dipenda dalle impostazioni del php del tuo pc, cmq prova così:
    fai un semplicissimo file chiamto prova.php con:
    codice:
    <?php
    error_reporting(E_ALL);
    session_start();
    $_SESSION['prova'] = 'ciao';
    header('Location: prova2.php');
    ?>
    e prova2.php con:
    codice:
    <?php
    error_reporting(E_ALL);
    session_start();
    echo $_SESSION['prova'];
    ?>
    think simple think ringo

  8. #8
    hai attivato i cookies?
    session_start() è prima di ogni output?

  9. #9
    Utente di HTML.it L'avatar di miki.
    Registrato dal
    Oct 2004
    Messaggi
    1,918
    session_start() è prima di ogni output
    i cookie sono abilitati

    marketto nella prova che ho fatto, funziona tranquillamente, mi da come output "ciao"

    Ma nello stesso sito, ho la gestione amministrativa, e ha un sistema uguale identico. Solo che li funziona.
    You cannot discover new oceans unless you have the courage to lose sight of the shore

    Caro Dio, quando nelle preghiere ti chiedevo di far morire quel pedofilo truccato, liftato,mentalmente disturbato e di colore indefinibile, non intendevo Michael Jackson.

  10. #10
    come passi la variabile $action nel primo controllo if ?

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.