alpin
30.06.2004, 01:39:14
witam, mam jedno pytanie, uzywam IE 5.0 , odpalam jedna przegladarke , loguje sie, rejestruja sie dwie zmienne, login i pass, w innym pliku sprawdza czy istnieja i w zaleznosci wyswietla odpowiedni kod, ale odpalam drugie okno przegladarki, calkiem nowe, wpisuje adres swojej stronki i pokazuje mi ze jestem zalogowany, czy to jest normalne ? przysiaglbym se ze przedtem przy odpaleniu nowej przegladarki nie bylem zalogowany, jak to jest ?
edycja: jak zamkne wszystkie okna przegladarki i odpale dopiero wtedy pokazuje mi ze jestem nie zalogowany, ale jak odpale jakies okno i w jednym sie zaloguje, to dopolki jest odpalone jakies okno przegladarki, to w kazdym innym jestem zalogowany.
kicaj
30.06.2004, 02:07:12
Bo sie logujesz na ciasteczkach, po zamknieciu okna one niszcza sie...
kszychu
30.06.2004, 09:26:09
Jest to jak najbardziej normalne zachowanie ciasteczek. Długość życia ciasteczka można określić na dwa sposoby: podając jego wielkość w sekundach, lub podając 0, co jest równowążne z życiem dopóki jest otwarte okno przeglądarki.
W pierwszym przypadku ciasteczko jest widoczne też dla innych okien przeglądarki, nawet, jeśli wszystkie zamkniesz, ale nie minie jeszcze czas podany jako długość życia. I to jest właśnie Twój przypadek.
alpin
30.06.2004, 21:17:15
ale moje logowanie nie jest oparte na ciasteczkach, w calym kodzie nigdzie nie mam zadnych cookies, tylko sesje, oto moje logowanie:
<?
include (\"linki.php\");
$katalog=\"users\";
$koncowka=\".php\";
function podaj_usera($u) {
if((!isset($_SESSION['login'])) && (!isset($_SESSION['haslo']))) {
$u = \"<form ACTION=\".$_SERVER['PHP_SELF'].\" method='post'>\";
$u .= \"<input TYPE='hidden' name='c' value='1'>\";
$u .= \"Login: <input TYPE='text' name='log'><br>\";
$u .= \"Haslo: <input TYPE='password' name='pass'><br>\";
$u .= \"<input TYPE='submit' value='Zaloguj'>\";
}else{
echo 'Zalogowany jako: <b>'.$_SESSION['login'].'</b><br><br>'; }
}
function zaloguj_usera($p, $l, $h, $r) {
{
print 'Niestety ale nie znalazlem takiego uzytkownika !'; podaj_usera($u);
}
@include($p.'/'.$l.'/'.$l.$r);
$ok = (($l == $login) && ($h == $haslo)) ? 1 : 0;
if($ok == 1)
{
$_SESSION['login'] = $l;
$_SESSION['haslo'] = $h;
echo 'Zalogowany jako: <b>'.$_SESSION['login'].'</b><br><br>';
} else {
print 'Nieprawidlowe dane!'; podaj_usera($u);
}
}
($_POST['c']==\"\") ? print podaj_usera($u) : zaloguj_usera($katalog, $_POST['log'], $_POST['pass'], $koncowka);
?>
Guest
6.12.2004, 12:53:48
A czy można tak jak dla ciasteczek ustwić czas zycia sesji lub aby sesja wgasała po zmknieciu okna przeglądarki??
Mianowici chodzi mi o to ze jak jestm zalogowany i zamkne przegladarke to nie chce aby pamietal seji bo moze sobie wpisac adres i dalej jest zalogowany,
np mam index.php, show.php, login.php, i inne.
i jak ktos zamknie przegladarke i wpisze show.php to wejdzie a powinno go przekierować na login.php??