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

    piccolo problemino con php , IE e oggetto SESSION

    Buona sera Gente ,
    avrei un piccolo problemino con l'oggetto SESSION sdul browser IE (sul firefox funziona perfettamente).

    allora ho creato un form per il log-in ,il check dei dati non avviene tramite DB ma tramite codice scritto nella pagina stessa (if ($username == "admin" && $password == "admin" )
    [questo perche la pagina ha come unica funzione quella esemplificativa e quindi nn mi interessa mettere un database in mezzo]

    una volta verificato che i dati sono quelli giusti quindi mi crea l'oggetto session e reindirizza verso la pagina da visualizzare , la quale prima di mostrarsi fa un controllo sulla sessione , se non riconosce la sessione rimanda al log-in.
    tutto funziona bene su firefox ... mentre invece non funziona su IE ... continua a rimandarmi al log-in e nn capisco il perche. sapete darmi una manina ?
    grazie.

    di seguito posto il codice usato

    pagina di controllo post form di log-in :
    codice:
    <?PHP
    session_start();
       
    	$user=$_POST['name'];
    	$password=$_POST['password'];
    	
    	if ($user == "admin" && $password == "admin" ) 
    	
    { 
    
        $_session['IDENTITA'] = $user;
    	
       header("location:/load.php");
    } 
     else 
       echo "[img]x.gif[/img] Attenzione username o password errati";
    ?>


    controllo sulle varie pagine
    codice:
    <?PHP
          session_start();
          if (!session_is_registered('IDENTITA')){
          header("location:login.php");
          }
          ?>

    praticamente IE mi rimanda sempre a log-in.php , nn capisco dove sia l'errore.
    grazie e saluti
    Ciu
    !!!
    See ya
    !!!

  2. #2
    "SESSION" non è un oggetto, è un array super globale e DEVE essere specificato in maiuscolo:

    Codice PHP:
    $_SESSION['variable'] = 'value'
    Prima di accedere all'indice di un array, verifica che la chiave esista (es. con isset()), altrimenti il tuo codice solleverà un notice (vedi Notice: Undefined variable / index / offset).

    Per effettuare un redirect con header location e propagare le sessioni ti suggerisco di utilizzare la funzione descritta in questo articolo:

    Effettuare un redirect con header location e propagare le sessioni

  3. #3
    per prima cosa , grazie mille ,
    ho modificato in
    Codice PHP:
    $_SESSION['IDENTITA'] = $user
    ma continuo ad avere problemi ...
    p.s. ho dato un occhio al link circa i redirect ma devo essere sincero , non ho capito come usare quella funzione :/

    grazie e saluti
    Ciu
    !!!
    See ya
    !!!

  4. #4
    scusate se riporto up con un reply ( volevo modificare ma nn posso )
    cmq niente , tutti i tentativi che ho fatto portano allo stesso risultato , la sessione non viene tenuta su IE7 e quindi mi rientra sempre nel redirect al login.
    come posso sbrogliarmela?
    Ciu
    !!!
    See ya
    !!!

  5. #5
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Codice PHP:
    header("location:/load.php"); 
    Devi utilizzare url assoluto, non relativo

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.