Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Problema con la $_SESSION

    Ciao a tutti. Ho questo problema.
    Sto eseguendo un log-in su una pagina. SE il log in va a buon fine inizializzo una sessione e poi fo un header sulla home del sito in modo da far scomparire la form di login e far apparire il nome di chi si è appena loggato.

    la pagina è composta da alcuni include

    succede che dopo che ho inizializzato la session e fatto l'header alla home la sessione la perdo.... ovvero non mi da il contenuto che avevo memorizzato un istante prima.

    Ho quindi provato a dare un session_start all'inizio della home page.

    il risultato è che ora mi valorizza la sessione e me la stampa correttamente con il nome di chi si è loggato, generando però un erorrore che incollo sotto....

    Warning: Cannot send session cache limiter - headers already sent (output started at /wwwroot/index1.php:7) in /wwwroot/inc/login.php on line 1


    come posso fare ?

    esiste qualche cosa per richiamare la sessione o va re-inizializata ?
    grazie
    -------------------------
    ..::`DrUmM\n0`::..
    www.jonathandomenici.com

  2. #2
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    session_start() lo devi mettere prima di ogni altro output.

  3. #3
    ma due cose:
    1) è corretto rimettere session start anche nella pagina che dovrebbe caricare il valori inizializzati nella sessione dalla pagina precedente?

    2) è all'inizio di tutto, ma la pagina è un'include di un'altra pagina (la home page appunto) che è composta da + spazi e da diversi include.....
    -------------------------
    ..::`DrUmM\n0`::..
    www.jonathandomenici.com

  4. #4
    [supersaibal]Originariamente inviato da drummino^
    ma due cose:
    1) è corretto rimettere session start anche nella pagina che dovrebbe caricare il valori inizializzati nella sessione dalla pagina precedente?[/supersaibal]
    devi!
    In tutte le pagine in cui vuoi utilizzare la sessione...

    [supersaibal]Originariamente inviato da drummino^
    2) è all'inizio di tutto, ma la pagina è un'include di un'altra pagina (la home page appunto) che è composta da + spazi e da diversi include..... [/supersaibal]
    metti session_start() nella home e non nell'include
    I hate to feel the Love beetwen us die...
    This is our last embrace...


    IndiSound.net - La musica italiana indipendente
    Bertuccia.com - Chat, Forum e Galleria Fotografica...

  5. #5
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    [supersaibal]Originariamente inviato da drummino^
    1) è corretto rimettere session start anche nella pagina che dovrebbe caricare il valori inizializzati nella sessione dalla pagina precedente?
    E' necessario metterlo.

    [supersaibal]Originariamente inviato da drummino^
    2) è all'inizio di tutto, ma la pagina è un'include di un'altra pagina (la home page appunto) che è composta da + spazi e da diversi include..... [/supersaibal]
    E' questo il motivo dell'errore. Metti session_start() prima dell'include.

  6. #6
    Mi continua a stampare il solito errore:

    Warning: Cannot send session cache limiter - headers already sent (output started at /wwwroot/index1.php:7) in /wwwroot/index1.php on line 13


    Mi visualizza tutto mi funziona ma mi stampa questo errore.

    L'index è strutturata così.

    ----------------------

    SESSION START
    header
    body
    include menu sinistra

    ---------------------

    include menu a sinistra è strutturato così.

    include primo blocco //quello che serve a me
    include secondo blocco
    include terzo blocco

    --------------------
    -------------------------
    ..::`DrUmM\n0`::..
    www.jonathandomenici.com

  7. #7
    Posta il codice..
    I hate to feel the Love beetwen us die...
    This is our last embrace...


    IndiSound.net - La musica italiana indipendente
    Bertuccia.com - Chat, Forum e Galleria Fotografica...

  8. #8
    INDEX

    <? session_start(); ?>

    i vari td tr etc

    <? include menucategorie; ?>

    INCLUDE MENU CATEGORIE

    <? include LOGIN.PHP ?> //quello che interessa a me
    <? include caio ?>
    <? include bla ?>
    <? include stia ?>

    LOGIN.PHP

    <?
    IF (!isset($_SESSION['utente'])) {
    ?>

    <script LANGUAGE="JavaScript">
    etc etc etc
    </script>

    COLLEGATI link a CONFERMA LOGIN

    <?
    } else {
    ?>

    Benvenuto [b]<? echo $_SESSION['utente']; ?>

    vari bottoni di profilo etc...

    <?
    }
    ?>


    CONFERMA LOGIN

    <?

    #Dichiarazione variabili

    $usr = strtolower ($_POST['userid']);

    $psw = strtolower ($_POST['password']);

    #Controllo Utente Registrato

    $query = "Select * from utenti where email = '" . $usr . "'";
    $ris = mysql_query($query, $conn) or die("Errore nella query: " . mysql_error());
    $rs = mysql_fetch_array($ris);

    #Controllo campi form login riempiti

    if (($rs['email'] == $usr) && ($rs['password'] == $psw)) {

    session_start();

    $_SESSION['utente'] = $rs['nome'] ."". $rs['cognome'];

    $_SESSION['email'] = $rs['email'];

    }

    header("Location: index1.php");

    ?>
    -------------------------
    ..::`DrUmM\n0`::..
    www.jonathandomenici.com

  9. #9
    Edit:

    anche l'header deve essere prima di ogni output
    I hate to feel the Love beetwen us die...
    This is our last embrace...


    IndiSound.net - La musica italiana indipendente
    Bertuccia.com - Chat, Forum e Galleria Fotografica...

  10. #10
    Lo ho messo.. all'inizio di ogni pagina interessata ora.. ma fa uguale... solito errore.
    -------------------------
    ..::`DrUmM\n0`::..
    www.jonathandomenici.com

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.