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

    dopo il refresh la sessione "scompare"

    ciao a tutti, ho la pagina homepage.php che cliccando sul pulsante "My Space", mi apre la pagina my-space.php, con al inizio questo codice:
    codice:
    <?
    session_start();
    if ( empty( $first_name ) ) {
    ?> 
    
    
    
    
    
    <center>Ciao benvenuto su pm25.it, puoi fare il login Qui, oppure registrarti <a href="iscrizione.php">Qui
    </a>
    &copy;2007 PM25.it
    </center>
    
    <center><?
    } else { include 'db.php'; 
    include ('personale.php');
    ?></center>
     <center>Logout</center> 
    <? } ?>
    Che mi apre la pagina personale.php, ecco il codice:

    codice:
    <?php
    //Mi connetto al mysql server
    $myconn = mysql_connect('localhost','root','') or die ("Errore...");
    
    //Mi connetto al database
    mysql_select_db('iscrizione',$myconn) or die ("Errore...");
    
    //Imposto ed eseguo la query
    $query = "SELECT * FROM utenti WHERE first_name = '" .$_SESSION['first_name']."'";
    $result = mysql_query($query, $myconn) or die ("Errore...");
    
    //Conto il numero di occorrenze trovate nel db
    $numrows = mysql_num_rows($result);
    
    //se il database è vuoto lo stampo a video
    if ($numrows == 0){
      print "Database vuoto!";
    }
    
    //Se invece trovo delle occorrenze
    else
    {
      
      //realizzo un ciclo for che si ripete per il numero di occorrenze trovate
      for ($x=0; $x<$numrows; $x++){
        
        //recupero il contenuto di ogni record trovato
        $resrow = mysql_fetch_row($result);
        $first_name = $resrow[0];
        $cognome = $resrow[1];
        $username = $resrow[2];
        $password = $resrow[3];
        $email = $resrow[4];
        $indirizzo = $resrow[5];
        $citta = $resrow[6];
        $stato = $resrow[7];
        $giorno = $resrow[8];
    	$mese = $resrow[9];
        $anno = $resrow[10];
        $peso = $resrow[11];
        $altezza = $resrow[12];
        $capelli = $resrow[13];
        $occhi = $resrow[14];
        $sesso = $resrow[15]; 
    	
        //Stampo il risultato
    	echo "
    
    
    
    ";
    	echo "<center><table width='400' height='200' border='1' bordercolor='#FF6600' bgcolor='#FFCC00'><tr>";
        echo "<td>Nome: ". $first_name . "
    </td></tr>";
        echo "<tr><td>Cognome: ". $cognome . "
    </td>";
    	echo "</tr>";
        echo "<tr><td>Username: ". $username . "
    </td></tr>";
        echo "<tr><td>Password: ". $password . "
    </td>";
    	echo "</tr>";
        echo "<tr><td>Email: ". $email . "
    </td></tr>";
        echo "<tr><td>Indirizzo: ". $indirizzo . "
    </td>";
    	echo "</tr>";
        echo "<tr><td>Citta: ". $citta . "
    </td></tr>";
        echo "<tr><td>Stato: ". $stato . "
    </td>";
    	echo "</tr>";
        echo "<tr><td>Giorno: ". $giorno . "
    </td></tr>";
        echo "<tr><td>Mese: ". $mese . "
    </td>";
    	echo "</tr>";
        echo "<tr><td>Anno: ". $anno . "
    </td></tr>";
        echo "<tr><td>Peso: ". $peso . "
    </td>";
    	echo "</tr>";
        echo "<tr><td>Altezza: ". $altezza . "
    </td></tr>";
        echo "<tr><td>Capelli: ". $capelli . "
    </td>";
    	echo "</tr>";
        echo "<tr><td>Occhi: ". $occhi . "
    </td></tr>";
    	echo "<tr><td>Sesso: ". $sesso . "
    </td>";
    	echo "</tr>";
    	echo "</table>";
    	echo "
    
    ";
      }
    }
    ?>
    Pero' noto che quando faccio il refresh della pagina, mi dice "Database vuoto!", significa che la sessione non c'e piu'?! Mi potete dire come fare per tenere aperta la sessione, finche' l'utente non fa clic sulla scritta logout?
    grazie

  2. #2
    c'e qualcuno che mi puo' aiutare?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    509
    perdona la mia ingoranza,non sono un gran chè,
    ma non ci dovrebbe stra un
    $_SESSION['first_name']=$first_name da qualche parte in modo da riempire in qualche modo la variabile di sessione?


    anche quando scrivi
    codice:
    <?
    session_start();
    if ( empty( $first_name ) ) {
    ?> 
    
    
    
    <br
    non controlla semplicemnte la variabile $first_name e non la variabile di sessione?cioè è probabile che perdi il valore di $first_name..o almeno credo

  4. #4
    ciao nexus, questo stesso codice:
    codice:
    <?
    session_start();
    if ( empty( $first_name ) ) {
    ?> 
    
    
    
    
    
    <center>Ciao benvenuto su pm25.it, puoi fare il login Qui, oppure registrarti <a href="iscrizione.php">Qui
    </a>
    ©2007 PM25.it
    </center>
    
    <center><?
    } else { include 'db.php'; 
    include ('personale.php');
    ?></center>
     <center>Logout</center> 
    <? } ?>
    lo tengo anche nella pagina dei contatti, e mi funziona a meraviglia, cioe' quando faccio il refresh, la session c'e ancora...
    non capisco perche' in quest'altra pagina non mi deve funzionare

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    509
    mh non saprei o la sessione scade (ma se le usi altrove e non capita probabilemtne non è quello)oppure potrebbe dipende anche da checkuser.php


    io solitamente uso una cosa del genere comunque
    Codice PHP:
    session_start();
    $user=$_SESSION["user"];
    if (empty(
    $user)){
        
    header("Location:accesso_riservato.php");


    hai mai provato una volta che sei connessa ad andare che so su un sito a caso e poi ad accedere direttamente a personale.php per vedere se ti richiede la user?

  6. #6
    ho fatto, ma quando ritorno alla pagina personale.php mi dice "Database vuoto", significa che mi richiede il login

  7. #7
    Utente di HTML.it L'avatar di mariox
    Registrato dal
    Nov 2006
    Messaggi
    837
    Ciao prova così:
    Codice PHP:
    <?
    session_start
    ();

    $first_name=$_SESSION["first_name"];

    if (empty(
    $first_name)){
    ?> 





    <center>Ciao benvenuto su pm25.it, puoi fare il login [url="homepage.php"]Qui[/url], oppure registrarti <a href="iscrizione.php">Qui
    </a>
    ©2007 PM25.it
    </center>

    <center><?
    } else { include 'db.php'
    include (
    'personale.php');
    ?></center>
     <center>[url="logout.php"]Logout[/url]</center> 
    <? ?>
    la variabile $first_name che valore contiene? lo passi tramite form?

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    229
    ciao,
    prova così, poi dicci che comportamento ha la pagina:

    if (isset($_REQUEST['first_name'])) {
    $first_name = $_REQUEST['first_name'];
    }
    else {
    $first_name= '';
    }

    poi continua con
    if ( empty( $first_name ) ) { ...

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    509
    allora probabilmente non registra propio la sessione

    io solitamente faccio una cosa del genere
    pagina login.php,chek.php,riservata.php



    pagina di login.php ha un form che rimanda a se stesso.
    se all'inizio pagina trovo che entrambi gli input sono impostati allora includo check.php


    la pagina check.php riceve le due variabili
    fa un collegamento al db per vierificare se la user e pass sono corrette.
    se sono corrette assegna una delle due varibili ad una sessione es $_SESSION[utente]=$_POST[utente] e mi rimanda alla pagina riservata.php
    altrimenti stampa un errore a video

    pagina riservata.php
    controlla se $_SESSION[utente] esiste.
    se esiste continua fai query o quello che ti serve
    se non esiste rimanda alla pagina login.php


    a grandi linee è cosi che faccio, ma come dicevo prima sono ancora alle prime armi

  10. #10
    ho provato a far cosi:
    codice:
    <?
    if (isset($_REQUEST['first_name'])) {
    $first_name = $_REQUEST['first_name'];
    }
    else {
    $first_name= '';
    }
    ?>
    <?
    if ( empty( $first_name ) ) { 
    
    ?> 
    
    
    
    
    
    <center>Ciao benvenuto su pm25.it, puoi fare il login Qui, oppure registrarti <a href="iscrizione.php">Qui
    </a> 
    
    </center> 
    
    <center><? 
    } else { include 'db.php'; 
    include ('personale.php'); 
    ?></center> 
    <center>Logout</center> 
    <? } ?>
    ma esce la scritta ciao benvenuto..., sembra che non funzioni

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.