problema con le sessioni

abracadibra

Nuovo Utente
29 Ott 2009
15
0
0
ciao a tutti, sto per terminare la registrazione utenti per il mio sito... però mi sono imbattuto in questo problema:

una volta effettuato il login mi apre direttamente (non proprio direttamente perchè c'è prima bisogno della conferma) la home iniziando prima una sessione:

Codice:
session_start ();
          $_SESSION['username'] = $username;
          $_SESSION['pass'] = $pass;
          // Salvo i dati del nuovo utente nel database
          mysql_query("UPDATE utenti SET data_ultima = NOW() WHERE (username = '$username') AND (password = '$pass')") or die (mysql_error());
          header('Location: ' . 'http://127.0.0.1/VirtuaLovers/home.php');      
        }else{ 
          die("Utente non ancora confermato");        
        }
        }else{ 
          die("Il nome utente inserito è inesistente");
        } 
        }else{ 
          die("Password errata");  
        }

a questo punto visto che (mettiamo caso) nell'inserimento di username e password vengano messi i dati corretti... va alla pagina home.php... e fino a qui tutto ok... però la sessione sembra inutile... in che senso... ecco la pagina home.php:

Codice:
<?php
  session_start();
  
 if( IsSet($_SESSION['username']) && IsSet($_SESSION['pass']) ) {
 
echo "BENVENUTO SU nome sito! </br>";
echo "<a href='logout.php'> Effettua Il Logout</a>";

}

 else {

echo "Login non effettuato";

}

?>

se non è aperta la sessione dovrebbe dirmi login non effettuato... ma anche se chiudo il browser e riapro la pagina home.php me la fa sempre vedere come se fossi loggato...

non riesco a capire cosa c'è di sbagliato... spero che qualcuno possa darmi una mano...

grazie!
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Se facesse l'opposto sarebbe stata una cosa più logica, ma che ti dia sempre loggato è una cosa curiosa. Prova a vedere se nel file php.ini la diretta gc.session_max_lifetime (o comunque qualcosa del genere) ha un valore maggiore di 0.
 

abracadibra

Nuovo Utente
29 Ott 2009
15
0
0
ma la cosa strana è che prima avevo fatto una cosa simile un po meno complessa... cosi per provare... ed andava perfettamente... ora mi sono un po incasinato e non riesco più a ritrovarmi...
 

abracadibra

Nuovo Utente
29 Ott 2009
15
0
0
posto tutto il mio file login.php

Codice:
<?php

include("connessioneDB.php");

 $username = $_POST['username'];
 $pass = MD5($_POST['pass']);
 $password = 'password';
 $confermato = 'conf';


  // Query che seleziona la password del utente
  $query = "SELECT  password  FROM  utenti WHERE username  = '$username'  LIMIT    1"; 
  $result = mysql_query($query, $db);         
  $row = mysql_fetch_assoc($result); 
  $num = mysql_num_rows($result); 

  // Query che seleziona il campo confirmed del utente
  $query1 = "SELECT  conf  FROM  utenti WHERE username  = '$username'  LIMIT    1"; 
  $result1 = mysql_query($query1, $db);         
  $row1 = mysql_fetch_assoc($result1); 

  if ($result != '0'){ 
    if($row[$password] == $pass){ 
      if($row1[$confermato] == 1){ 
          session_start ();
          $_SESSION['username'] = $username;
          $_SESSION['pass'] = $pass;
          // Salvo i dati del nuovo utente nel database
          mysql_query("UPDATE utenti SET data_ultima = NOW() WHERE (username = '$username') AND (password = '$pass')") or die (mysql_error());
          header('Location: ' . 'http://127.0.0.1/VirtuaLovers/home.php');      
        }else{ 
          die("Utente non ancora confermato");        
        }
        }else{ 
          die("Il nome utente inserito è inesistente");
        } 
        }else{ 
          die("Password errata");  
        }



?>

non riesco proprio a capire come mai fa cosi...
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Intanto session_start() ti consiglio di metterlo all'inizio delle pagine, non solo quando ti serve. Comunque mi devi dare il valore gc.session_max_lifetime del php.ini... anche perché dal tuo codice non vedo nulla di anomalo.
 

abracadibra

Nuovo Utente
29 Ott 2009
15
0
0
ma non penso sia quello comunque il problema... è che sono in palla totale... è una cosa abbastanza insensata...
 

abracadibra

Nuovo Utente
29 Ott 2009
15
0
0
nono sono nella stessa cartella ovviamente... poi comunque ho anke messo il logout con il comando session_destroy() e anche se lo premo e riapro un'altra pagina mi vede sempre come se fossi loggato...
 

abracadibra

Nuovo Utente
29 Ott 2009
15
0
0
si... l'ho già cambiato... ma rimane sempre la stessa cosa... poi riapro direttamente la pagina e me la fa vedere come se la sessione è aperta...

ma che senso ha!?!?!!?!
 

abracadibra

Nuovo Utente
29 Ott 2009
15
0
0
anke perchè nel caso del logout mi riconosce che la sessione è chiusa e va alla index...

Codice:
<?php
  unset($_SESSION['username']);
  unset($_SESSION['pass']);

  if(IsSet($_SESSION['username']) && IsSet($_SESSION['pass'])) header('Location: ' . 'http://127.0.0.1/VirtuaLovers/home.php');      
    else header('Location: ' . 'http://127.0.0.1/VirtuaLovers/index.html');include("connessioneDB.php");
?>
 

abracadibra

Nuovo Utente
29 Ott 2009
15
0
0
infatti ora è il contrario... cioè non mi riconosce la sessione aperta e mi dice sempre login non effettuato se tento di aprire la pagina home.php con la sessione aperta...

aiutooooooooooo :confused:
 

abracadibra

Nuovo Utente
29 Ott 2009
15
0
0
guarda... alla fine ieri ho risolto... poi mi sono dimenticato di scriverlo...

comunque (non sò come mai) se il file .php lo chiamo home.php non mantiene la sessione e va alla index... mentre se lo chiami con un'altro nome qualsiasi funziona...

si vede che home.php lo vede come index visto che sono praticamente sinonimi... ma boh...

comunque l'importante è che ho risolto!

grazie comunque per l'aiuto! :beer:
 
Discussioni simili
Autore Titolo Forum Risposte Data
T PROBLEMA CON SESSIONI PHP 3
L problema array con le sessioni PHP 1
R problema con le sessioni PHP 2
asevenx problema con le sessioni PHP 6
S Problema con sessioni PHP 4
I Problema con le sessioni PHP 2
P Problema con l'uso delle sessioni... PHP 4
P Problema con sessioni e aggiornamento profilo PHP 21
P Problema con sessioni PHP 9
M problema con le sessioni e get PHP 6
S Problema con le sessioni PHP 14
F Rilanci di Eccezioni e Problema con le Sessioni PHP 1
E Problema con inserimenti di Link & sessioni PHP 6
P PRoblema con le sessioni PHP 1
metalgemini Problema con sessioni PHP 1
O problema con dvr dahua xvr5116 IP Cam e Videosorveglianza 0
G Problema con Xampp Web Server 1
andrea barletta Problema con miniature comandi Photoshop 0
I problema con alice Posta Elettronica 0
N Problema con position absolute e overflow HTML e CSS 4
L Problema con inner join PHP 11
K [php] Problema con inner join PHP 4
K [PHP] Problema con variabili concatenate. PHP 1
O problema con query PHP 4
I problema con 2 account Posta Elettronica 1
L problema collegamento file css con html HTML e CSS 1
E Problema accesso a file con app sviluppata con MIT APP INVENTOR 2 Sviluppo app per Android 0
M Problema con Try Catch PHP 0
Sergio Unia Problema con gli eventi del mouse su una data table: Javascript 2
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
R problema con else PHP 0
T PROBLEMA CON ARRAY PHP 8
L problema con query select PHP 2
R Problema query con ricerca id numerico PHP 2
F Problema con risposta PHP 0
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 1
L Problema RAM con Tomcat 8 Apache 0
napuleone problema con sort e asort PHP 4
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0
M Problema con controllo form in real time jQuery 6
Z Problema di sincronizzazione PAYPAL con PHP PHP 1
G Problema con Get page PHP 4
P Problema con require once PHP 6
P Problema con i package Java 1
A Problema login con Safari PHP 14
F INDESIGN: problema esportazione esecutivo per la stampa con foto B/N Webdesign e Grafica 0
S problema con css bootstrap3 HTML e CSS 4
M .load() problema con caricamenti dinamici di js Javascript 0

Discussioni simili