Jakie mogą być przyczyny gubienia wartości zmiennych w sesjach, oraz jak temu przeciwdziałać? Zdarza się, że po stworzeniu sesji, manewrując między kolejnymi stronami, w pewnym momencie gubiona jest zmienna loginu zalogowanego użytkownika, ale co dziwne sam fakt zalogowania nadal jest widoczny.
Np. menu, w którym pewne opcje dostępne są dla zalogowanych, pewne dla admina (znikają tylko te ostatnie).
Przed chwila zauważyłem, ze notorycznie zdarza się to po wejściu na stronę z następującym kodem php:
<?php
if ($send=="Wyślij")
{
if ($baza = mysql_connect($mysql_host, $mysql_login, $mysql_haslo)) {
{
if ($nad==$_SESSION["login"])
{
$zapytanie = "INSERT INTO pw SET odbiorca='$odb', nadawca='$nad', status='odpowiedz', datazalozenia='$dza', temat='$tem', tresc='$wiadomosc', data='$date'";
if ($wykonaj)
{
}
else
{
if ($odb==$_SESSION["login"])
{
$zapytanie = "INSERT INTO pw SET odbiorca='$nad', nadawca='$odb', status='odpowiedz', temat='$tem', tresc='$wiadomosc', data='$date'";
}
}
$zapytanie = "UPDATE pw SET data='$date' WHERE (temat='$tem' and status='poczatek')";
if ($_SESSION["login"]=$wiersz["nadawca"])
{
$zapy = "UPDATE pw SET pnadawca='przeczytana' WHERE (data='$date' and temat='$tem')";
}
if ($_SESSION["login"]=$wiersz["odbiorca"])
{
$zapy = "UPDATE pw SET podbiorca='przeczytana' WHERE (data='$date' and temat='$tem')";
}
}
Header ('Location: rejestracja.php?opcja=pw'); }
else
{
"<span style=\"color:red;\"><center>Nie można połączyć się z bazą - spróbuj ponownie za chwilę...</center></span>";
}
}
else
{
"<span style=\"color:red;\"><center>Nie można połączyć się z serwerem MySQL - spróbuj ponownie za chwilę...</center>";
}
}
?>
Ten post edytował The Night Shadow 7.02.2006, 12:22:34