- Home
- Categorie
- Coding e Sistemistica
- PHP
- $_SESSION e LOCALHOST
-
$_SESSION e LOCALHOST
Buon giorno, ho problemi nel visualizzare le variabili di sessione.Mi spiego.
Ho il mio sito online che funziona regolarmente.
Per lavorarci anche in locale l'ho spostato sulla piattaforma se cosi si può chiamare di XAMPP.Il problema è che in localhost, le variabili globali $_SESSION, perdono il valore se passate da una pagina all'altra.
Premetto che nell'index.php ho settato la session_start(), perchè qui includo tutte le pagine che man mano carico per visualizzarle.Potrei sapere cortesemente se devo attivare qualche parametro all'interno del file php.ini?
un esempio di ciò che faccio.
$rs = cExeQuery("SELECT IdEsterno, UserName FROM TBUTENTI WHERE UserName = '".$_POST['txtUser']."', $Connessione); if (nNumRows($rs) > 0) { if (cResult($rs, 0, "abilita") == 1) { $_SESSION['SessIdEsterno'] = cResult($rs, 0, "IdEsterno"); $_SESSION['SessUserName'] = $_POST['txtUser']; } else { $alert = "Utente non attivo!"; } } else { $alert = "Utente non trovato!"; } } if ($_SESSION['SessUserType'] == "1111111111") { header("location:index.php?p=logFailed"); } else { echo "iduserestern: " . $_SESSION['SessIdEsterno']; exit; header("location:index.php?p=logAccess"); }
In questo modo all'interno della stessa pagina la variabile $_SESSION['SessIdEsterno'] la stampa a video, ma se la voglio visualizzare anche all'interno della pagina logAccess.php, che carico con
header("location:index.php?p=logAccess"); allora ne perde il valore restituendomi stringa vuota.Come risolvo?
Grazie mille e buona giornata.
-
Potrebbe essere colpa del browser che non tiene traccia del coockie di sessione, usa "session_id()" per vedere se l'id di sessione cambia ad ogni reload e quindi confermare questa teoria.
Altra cosa, potrebbe essere la presenza di "session_unset()" e/o "session_destroy()" prima della visualizzazione a video delle variabili di sessione.Ciao!
-
per capire ti chiedo:
- come mai sul server e quindi con il sito online, non ho nessun problema, ed invece in locale si?
-
Forse il browser interpreta localhost come intranet è applica protezioni diverse di quelle effettuate su internet.