Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Sessione che non viene creata

    Salve a tutti. E' la prima volta che posto qui su PHP, in quanto è da poco che mastico questo linguaggio (arrivo da anni di ASP).
    Ho creato una pagina che mi controlla la presenza di username e password all'interno della tabella degli utenti.
    Il controllo viene effettuato correttamente.
    Se i dati sono presenti creo due sessioni e reindirizzo ad un'altra pagina.
    In quest'ultima verifico se la sesisone è presente, se lo è reindirizzo ad un link, s enon esiste reindirizzo ad un altro link.

    Il problema è che dopo aver creato la sessione, nella pagina successiva ne verifico la presenza, che però non esiste.

    Vi posto due righe:

    codice:
    $query = "SELECT ID, username, password, status FROM utenti WHERE username = '" . $username . "' AND password = '" . $password . "' AND status = 1 LIMIT 1";
    
    $result = mysql_query($query, $conn);
    
    	$row = mysql_fetch_array($result);
    	if ($row){
    		session_start();
    		
    		$_SESSION['logged'] = $row[ID];
    		$_SESSION['user'] = $row[username];
    		
    		header('Location: http://www.miolink.com/agg/mysite/index.php');
    	}else{
    	header('Location: http://www.miolink.com/agg/mysite/bad_login.php');
    }
    Qui creo la sessione e rendirizzo correttamente al primo link.
    Nella apgina del primo link verifico:

    codice:
    if(isset($_SESSION['logged'])) {
    	header('Location: http://www.miosito.com/link1');
    }else{
    	header('Location: http://www.miosito.com/link2');
    }
    Ovviamente vengo SEMPRE reindirizzato al seconod link (miosito.com/link2).

    In pratica è come se non esistesse nessuna sessione.

    Aiuti?

  2. #2
    session_start(); deve stare in ogni pagina al cui interno fai reiferimento a variabili $_SESSION o al session_id o a qualsiasi altra cosa riguardante le sessioni, quindi anche in quella in cui fai il controllo:

    if(isset($_SESSION['logged'])) {
    header('Location: http://www.miosito.com/link1');
    }else{
    header('Location: http://www.miosito.com/link2');
    }


    Per sicurezza e comodita' mettilo all'inizio di tutte le pagine che fanno uso di sessioni...

  3. #3
    L'ho detto che ero all'inizio :rollo:

    Non sapevo questa cosetta.

    Ti ringrazio.

  4. #4
    Utente di HTML.it L'avatar di mariox
    Registrato dal
    Nov 2006
    Messaggi
    837
    devi riaprire la sessione:
    Codice PHP:
    session_start();

    if(isset(
    $_SESSION['logged'])) {
        
    header('Location: [url]http://www.miosito.com/link1[/url]');
    }else{
        
    header('Location: [url]http://www.miosito.com/link2[/url]');


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.