neo1986kk
3.04.2010, 12:06:39
Witam, mam takie pytanie:
Dlaczego na jednej z podstron mojego serwisu mnie wylogowywuje?
Dokładniej:
Jest sobie stronka.php z session_start() idt...
loguje się i poruszam po serwisie
i na przyklad chce dodać nowy towar do listy, wiec przechodze do strony z formularzem, wpisuje tam te różne parametry klikam OK i chcę wrócić do listy towarów więć klikam w menu moja lista towarów i co? i tu niespodzianka...
...Pokazauje sie strona logowania.
Ale jak już się drugi raz zaloguje to powrót do listy działa jak należy tylko za pierwszym razem wywala.
Ravik
3.04.2010, 12:16:50
Może w pliku do którego odwołuje "Moja lista towarów" nie masz ustawionej session_start, albo na początku resetuje obecną sesję, zmienna z cookiesem sprawdzana jest później niż wykonywanie skryptu z "Moja lista towarów", powodów może być sporo.
neo1986kk
3.04.2010, 12:29:41
nie no ale po poponownym zalogowaniu, nie ma problemu także session_start() napewno tam jest. zmienna jest tyko jedna
$_SESSION['uzytkownik'];
Pawel_W
3.04.2010, 12:29:59
bez kodu to my możemy...
...powróżyć
neo1986kk
3.04.2010, 13:14:07
wydaje mi się że nie przyda się kod ale...
include('polacz_z_baza_1.php');
if(isset($_POST['login']) && isset($_POST['password'])) {
// jeżeli użytkownik właśnie podjął próbę zalogowania
$iduzytkownika = $_POST['login'];
$haslo = $_POST['password'];
$zapytanie = 'select * from uzytkownicy'
."where login='$iduzytkownika' "
." and password='$haslo' ";
$wynik = $bd_lacz->query($zapytanie);
if($wynik->num_rows > 0)
{
// jeżeli dane są w bazie zarejestrowanie identyfikatora użytkownika
$_SESSION['prawid_uzyt'] = $iduzytkownika;
}
}
if(isset($_SESSION['prawid_uzyt'])) {
include('lista_t.php');
}
else
{
include('logowanie.php');
}
Wszędzie jest zrobione tak samo. i tylko w jednym przypadku nie dziala.
mortus
3.04.2010, 13:33:39
Podaj kod strony z formularzem i ze skryptem do obsługi tego formularza.
neo1986kk
6.04.2010, 07:30:33
Witam, mam problem z tą sesją ale teraz to już się stalo irytujące, gdyż mam system wiadomości i plik wiadomosci_odebrane.php.
Teraz tak, co się dzieje...
Jeśli mam jakąś nieodczytaną wiadomość to za pierwszym razem kiedy wchodze na wiadomosci_odebrane.php wywala mnie z systemu i muszę się jeszcze raz logować.
Ale to tylko raz, później jest cały czas dobrze, moge sie wylogowywać i zalogowywać i jest wszystko ok, ale na przykład jak bede wylogowany tak z godzinkę to znow jak wejde i bede mial nieprzeczytaną wiadomość to po wejściu na odebrane znów sie musze logować, wkurzające to jest...
Edit:
Moge dodać że przechodzę na stronę poprzez javascript, ale wszystkie inne strony ładują się bez problemów i też są otwierane poprzez kliknięcie w button.
klikając na przycisk wstecz, lub wpisując ręcznie inną stronę w domenie oczywiście, użytkownik jest nadal zalogowany. Czyli sesja nie wygasa.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.