Visualizzazione risultati 1 fino 13 di 13

Discussione: Problema sessioni

  1. #1
    Guest

    Predefinito Problema sessioni

    Ciao a tutti,
    io ho una pagina home dove se il controllo dell'acceso è andato a buon fine mi apre una sessione, fin li tutto bene e anche sulla pagina dopo dove richiamo la sessione. A questo punto torno nella home e mi succede che la sessione è come se non c'è più.. ossia apposto del ciao utente viene scritto registrati che dovrebbe venir fuori solo quando l'utente non è loggato.
    Grazie

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,762

    Predefinito

    hai la session_start() a inizio pagina?

    Ciao!

  3. #3
    Guest

    Predefinito

    Sì certo

    edit:
    Ciao a tutti,
    io ho questo codice
    Codice PHP:
    <?php
    if (!empty($_POST['invio']))
    {
    session_start();
    $username = $_POST['username'];
    $password = $_POST['password'];
    $_SESSION['username'] = $username;
    $_SESSION['password'] = $password;
    }
    else
    {

    }
    ?>
    <html>
    <head>
    <title>We Share - Home</title>
    <link rel="stylesheet" type="text/css" href="home.css" />
    </head>
    <body>
    <?php
    if (empty($_POST['invio']))
    {

    }
    else
    {
    $username = $_POST['username'];
    $password = $_POST['password'];
    $connessione = mysql_connect ("localhost", "root", "");
    $connessionedatabase = mysql_select_db ("utenti");
    $connessionetabellau = "SELECT *FROM id_utenti where username='$username'";
    $connessionetabellap = "SELECT *FROM id_utenti where password='$password'";
    $risultatomultipliu = mysql_query($connessionetabellau);
    $risultatomultiplip = mysql_query($connessionetabellap);


    if (!
    $connessione)
    {
    die (
    "<p>Server al momento non disponibile</p>");
    }
    else
    {
    if (!
    $connessionedatabase)
    {
    die (
    "<p>Server al momento non disponibile</p>");
    }
    else
    {
    if(
    mysql_num_rows($risultatomultipliu)==0)
    {
    die (
    "<p>Username errata</p>");
    }
    else
    {
    if(
    mysql_num_rows($risultatomultiplip)==0)
    {
    die (
    "<p>Password errata</p>");
    }
    else
    {

    }
    }
    }
    }
    }
    ?>
    <div id='contenitore'>
    <div id='barraalta'>
    <div id='logo' class='sinistra'>
    <img src='img/logo2.gif' width='100'/>
    </div>
    <div id='ricerca' class='sinistra'>
    <script>
    (function() {
    var cx = '009674285549691032392:wjmwdrr_fue';
    var gcse = document.createElement('script');
    gcse.type = 'text/javascript';
    gcse.async = true;
    gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
    '//www.google.com/cse/cse.js?cx=' + cx;
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(gcse, s);
    })();
    </script>
    <gcse:searchbox-only></gcse:searchbox-only>
    </div>
    <div id='utente' class='sinistra'>
    <?php
    if (empty($_POST['invio']))
    {
    echo
    "<p><a href='registrati.php'>Registrati</a></p>";
    }
    else
    {
    echo
    "Ciao $username<br/><br/><a href='canale.php'>Il tuo guardaroba</a>";
    }
    ?>
    </div>
    <div style='clear:both;'/>
    </div>
    <div id='colonnasinistra' class='sinistra'>
    <div id='videos'>
    <img src='img/sfondo.jpg' width='200' height='112' />
    <p>Nome</p>
    <p>Caricato da Utente</p>
    </div>
    <div id='videos'>
    <img src='img/sfondo1.jpg' width='200' height='112' />
    <p>Nome</p>
    <p>Caricato da Utente</p>
    </div>
    <div id='videos'>
    <img src='img/sfondo2.jpg' width='200' height='112' />
    <p>Nome</p>
    <p>Caricato da Utente</p>
    </div>
    <div id='videos'>
    <img src='img/sfondo3.jpg' width='200' height='112' />
    <p>Nome</p>
    <p>Caricato da Utente</p>
    </div>
    <div id='videos'>
    <img src='img/sfondo4.jpg' width='200' height='112' />
    <p>Nome</p>
    <p>Caricato da Utente</p>
    </div>
    <div id='videos'>
    <img src='img/sfondo.jpg' width='200' height='112' />
    <p>Nome</p>
    <p>Caricato da Utente</p>
    </div>
    </div>
    <div id='colonnacentrale' class='sinistra'>
    <div id='videocp' align='center'>
    <p>Nome</p>
    <video src='video/prova.mp4' controls width='480' height='250' preload poster='img/sfondo4.jpg'></video>
    <p>Caricato da Utente</p>
    </div>
    <div id='descrizione'>
    <p align='center'>Descrizione</p>
    <br/>
    <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur</p>
    </div>
    <div id='videoc'>
    <div id='videocc' class='sinistra'>
    <img src='img/sfondo.jpg' width='200' height='112' />
    <p>Nome</p>
    <p>Caricato da Utente</p>
    </div>
    <div id='videocc' class='sinistra'>
    <img src='img/sfondo1.jpg' width='200' height='112' />
    <p>Nome</p>
    <p>Caricato da Utente</p>
    </div>
    <div id='videocc' class='sinistra'>
    <img src='img/sfondo2.jpg' width='200' height='112' />
    <p>Nome</p>
    <p>Caricato da Utente</p>
    </div>
    <div id='videocc' class='sinistra'>
    <img src='img/sfondo3.jpg' width='200' height='112' />
    <p>Nome</p>
    <p>Caricato da Utente</p>
    </div>
    <div id='videocc' class='sinistra'>
    <img src='img/sfondo4.jpg' width='200' height='112' />
    <p>Nome</p>
    <p>Caricato da Utente</p>
    </div>
    <div id='videocc' class='sinistra'>
    <img src='img/sfondo.jpg' width='200' height='112' />
    <p>Nome</p>
    <p>Caricato da Utente</p>
    </div>
    <div id='videocc' class='sinistra'>
    <img src='img/sfondo1.jpg' width='200' height='112' />
    <p>Nome</p>
    <p>Caricato da Utente</p>
    </div>
    <div id='videocc' class='sinistra'>
    <img src='img/sfondo2.jpg' width='200' height='112' />
    <p>Nome</p>
    <p>Caricato da Utente</p>
    </div>
    </div>
    </div>
    <div id='colonnadestra' class='destra'>
    <div id='videod'>
    <img src='img/sfondo.jpg' width='200' height='112' />
    <p>Nome</p>
    <p>Caricato da Utente</p>
    </div>
    <div id='videod'>
    <img src='img/sfondo1.jpg' width='200' height='112' />
    <p>Nome</p>
    <p>Caricato da Utente</p>
    </div>
    <div id='videod'>
    <img src='img/sfondo2.jpg' width='200' height='112' />
    <p>Nome</p>
    <p>Caricato da Utente</p>
    </div>
    <div id='videod'>
    <img src='img/sfondo3.jpg' width='200' height='112' />
    <p>Nome</p>
    <p>Caricato da Utente</p>
    </div>
    <div id='videod'>
    <img src='img/sfondo4.jpg' width='200' height='112' />
    <p>Nome</p>
    <p>Caricato da Utente</p>
    </div>
    <div id='videod'>
    <img src='img/sfondo.jpg' width='200' height='112' />
    <p>Nome</p>
    <p>Caricato da Utente</p>
    </div>

    </div>
    </div>
    Il problema è che quando accedo visualizzo l'username con cui mi sono loggato ma se vado in un'altra pagina e ritorno in questa visualizzo registrati. in quell'altra pagina però visualizzo l'username. cosa devo sistemare??
    Ultima modifica di javascripter : 13-02-2014 alle ore 16.09.00

  4. #4
    Guest

    Predefinito

    hai messo session_start() in cima ad ogni pagina?
    Ultima modifica di alemoppo : 13-02-2014 alle ore 16.12.00 Motivo: - edit: unione discussioni

  5. #5
    Guest

    Predefinito

    Citazione Originalmente inviato da ItaloAgus Visualizza messaggio
    Sì cmq era per mettere il codice
    Esiste la possibilità di modificare il post, e/o di rispondere. Ti faccio notare che così infraggi anche il regolamento.

    Poi, session_start() va messa come prima istruzione, non dentro un blocco if.

    Prova a cambiare da così

    Codice PHP:
    <?php
    if (!empty($_POST['invio']))
    {
    session_start();
    $username = $_POST['username'];
    $password = $_POST['password'];
    $_SESSION['username'] = $username;
    $_SESSION['password'] = $password;
    }
    ...
    a così

    Codice PHP:
    <?php
    session_start
    ();

    if (!empty(
    $_POST['invio']))
    {
    $username = $_POST['username'];
    $password = $_POST['password'];
    $_SESSION['username'] = $username;
    $_SESSION['password'] = $password;
    }
    ...

  6. #6
    Guest

    Predefinito

    Sotto dove inserisco l'username invece lascio cosi??? Cmq grazie per avermi fatto ripassare il regolamento

  7. #7
    Guest

    Predefinito

    Citazione Originalmente inviato da ItaloAgus Visualizza messaggio
    Sotto dove inserisco l'username invece lascio cosi??? Cmq grazie per avermi fatto ripassare il regolamento
    Non capisco a cosa ti riferisci con sotto ...

    Non ho guardato tutto il codice, ma ti facevo notare che se metti l'avvio (o la continuazione della sessione) dentro una condizione, rischi di non trovarti la sessione stessa, quindi, mettila fuori, come prima istruzione.

  8. #8
    Guest

    Predefinito

    Codice PHP:
    if (empty($_POST['invio']))
    {
    echo
    "<p><a href='registrati.php'>Registrati</a></p>";
    }
    else
    {
    echo
    "Ciao $username<br/><br/><a href='canale.php'>Il tuo guardaroba</a>";
    }
    perchè quando ritorno nella home mi dice registrati??

  9. #9
    Guest

    Predefinito

    Verifica che la variabile invio sia valorizzata, altrimenti è normale

  10. #10
    Guest

    Predefinito

    non ho mica una variabile invio

  11. #11
    Guest

    Predefinito

    Citazione Originalmente inviato da ItaloAgus Visualizza messaggio
    non ho mica una variabile invio
    questa $_POST['invio'], passata in POST

  12. #12
    Guest

    Predefinito

    come faccio a vedere che sia valorizzata??

  13. #13
    Guest

    Predefinito

    banalmente puoi farti stampare il valore.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •