Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Koniec sesji i przekierowanie
Forum PHP.pl > Forum > Przedszkole
php__amator
Witam ponownie,
To ja wasz oporny na wiedze phpamator smile.gif

W dzisiejszym konkursie odpowiedz na pytanie:

Temat:

"Po upywie czasu trwania sesji wywal mnie spowrotem do menu glownego(menu.php) albo index.php (wsio ryba)".

Pytanie:
Jak to zrobic. Sam PHP raczej na to nie pozwala questionmark.gif?
Trzeba by chyba uzyc JavaScript'u ?
Jesli tak czy mozesz mnie wprowadzic jak to zrobic ?
Nagroda:

Zwyciezca otrzyma ..... bardzo przyjemny usmiech na twarz I podziekowania smile.gif

Damonsson
Zasadnicze pytanie, po co?
Rysh
Kolega chyba chce zrobić coś na zasadzie, jak jest w bankach. "Zostałeś wylogowany z powodu bezczynności." Ale faktycznie. Po co?
Turson
http://forum.php.pl/index.php?showtopic=157566
W PHP - jeśli sesja nie istnieje to przekieruj.
php_amator
Guys guys guys

Po co questionmark.gif

Sesja wygasa po około 15 minutach nieaktywności ale zawartość pozostaje na ekranie, podchodzi ktoś I np zaczyna wprowadzać powiedzmy dane do formularza I wprowadza sobie I wprowadza po czym klika na przycisk zapisz I co sie pokazuje ..... questionmark.gif?

Strona Logowania sie pokazuje smile.gif

Wszystko co wklepał poszło w ... kosmos.... I sie denerwuje bo musi wklepywać od początku.

Pewnie jest na to jakiś patent w php, jakaś opcja pozwalająca przywrocić to co wklepał albo poprostu jest gdzieś zapisane I można szybko się zalogować I wskoczyć spowrotem dokończyć record ale mnie amatorowi nie dane było jeszcze tych sposobów poznać.

Jak znam życie zaraz posypią się na moją głowę pewnie jakieś gromy albo inne obelgi w typie "trzeba było się nauczyć, przeczytać ..." albo coś jeszcze ale jak zapewne zauważyliście jestem PHPAMATOR I dopiero zaczynam cokolwiek robić z użyciem PHP.

Dlatego proszę o wyrozumiałość I pomocną dłoń.

Do tej pory zrobiłem kilka projektów, działają ale kazdy z nich wymagałby jeszcze wiele poprawek, usprawnien, uproszczeń. Pewnie jakbyście je zobaczyli to byłaby kupa śmiechu jak można takie coś wytworzyć bo to nijakich zasad czy konwencji sie nie trzyma ale działa I wszyscy sie cieszą wink.gif

Reasumując, zapytałem czy można coś takiego w PHP zrobić bo fajnie by było zamiast sie wkurzać kiedy cie system wykopie do ekranu logowania niespodziewanie
poprostu ładnie poinformował I wyłaczył sesje w wyrazny, widoczny sposob.

Więc da się tak zrobić ? czy nie ?
com
multikonto?

możesz zmienić sobie czas wygasania sesji... a jak nie to masz przecież rozwiązanie tu http://forum.php.pl/index.php?showtopic=157566 np post marcint83
php_amator
Albo ja czegoś tu nie rozumiem albo ...
Temat zamykania sesji mamy już obcykany, I ten działa jak należy z niewielkim wyjątkiem. żeby zobaczyć efekt jego działania trzeba klepnąć na przycisk wysyłania lub przejścia do innej strony, wtedy jeśli czas sesjy się skończył wywali cię do strony logowania a mi nie o to chodzi.

Chodzi mi o to że jeśli upłynie określony czas automatycznie wylogowywał I przechodził do strony logowania bez ingerencji użytkownika.
Żeby było jasne. Mija czas (15 minut) skrypt przechodzi samoczynnie do strony logowania, bez klikania w cokolwiek
end of sentence.

http://forum.php.pl/index.php?showtopic=157566 np post - ten temat też mam obcykany I to jest już zrobione tylko, że to nie wywala automatycznie po określonym czasie do strony logowania, dopiero jak cokolwiek klikniesz.

Czytacie co piszę czy zgadujecie questionmark.gif
Bo jakoś z mojego punktu widzenia nie rozumiemy o co pytam .... albo ja nie rozumiem sam siebie wink.gif

Zapytam więc jeszcze raz:

Czy można zautomatyzować process zamykania okna w PHP - zakładamy, że w przypadku gdy użytkownik pracował z formularzem, zostawił włączony computer, poszedł na piwo. Po jakimś czasie wrócił I zapragnął dokończyć swoje dzieło, usiadł więc do komputera I począł wprowadzać dane do formularza. Przy próbie wysłania zamiast informacji o potwierdzającej I zapisaniu rekordu wyskoczył mu ekran logowania I SZLAG GO TRAFIŁ bo wklepywania było co niemiara a biedaczyna nie wiedział, że trzeba na wszelki wypadek odświezyc stronę (tak na wszelki wypadek) co by się upewnić, że może pracować dalej wink.gif

DLATEGO: Skrypt sprawdza czy sesja jest aktywna, stwierdza że jednak nie bo minęło zbyt dużo czasu. Zamyka więc wszystko I otwiera strone logowania.
Baz niczyjej pomocy czyt. ingerencji użytkownika.

Jak wygaszacz ekranu, po jakimś ustalonym czasie włącza jakiś cosie albo wylogowyje userownika z systemu.

Do sedan więc, da się czy nie a jeśli tak to jak to zrobić ?

POzdrawiam
Turson
Przecież nawet w bankach nie ma automatycznego przekierowania jak sesja się skończy, bo po co? Jest dopiero przy przeładowaniu strony etc.
W czystym php niczego innego nie osiągniesz.
php_amator
No widzisz Turson, dlaczego od razu tak nie napisałeś. "Nie da się w PHP takiego czegoś zrobić" ... I po sprawie.

Skończył bym zadawać idiotyczne pytania.
Skoro się nie da to się nie da I trzeba użyć np JS.

A w JS z pewnością się da.
Jeszcze nie wiem jak ale się da smile.gif Jakiś licznik czasu po upływie którego skrypcik zrobi co trzeba I szlus.

Przyznam się, że od początku miałem wątpliwości co do mozliwości zrobienia tego w czystym PeHaPie.

Łudziłem się jednak że może jakimś cudownym sposobem .....

No, więc muszę znaleźć jakieś rozwiązanie w JS, nie ma wyjścia
Damonsson
w php też możesz, odświeżać stroną po każdym załadowaniu wink.gif

A na poważnie. Po każdym otwarciu strony włączaj licznik 15 minut w JS i po jego upływie dawaj zwykły refresh. Jak zrobić odmierzanie czasu w JS? Powinno być o tym 14324 tutoriali, z czego 10 po polsku.
Rysh
  1. <META HTTP-EQUIV="Refresh" CONTENT="910;URL=http://twojastrona.pl/zaoguj.php">

Chyba tak to leciało.
com
to już lepiej było ustawić ciasteczko i ajaxem sprawdzić czy nie wygasło, jeśli tak to ubicie sesji i przekierowanie tongue.gif i masz php + js tongue.gif oczywiście można też w samym js wszystko wink.gif

Rysh twoje rozwiązanie może i dobre przy założeniu że sesja wygasła, bo tak to istniej prawdopodobieństwo że i tak wróci do strony po zalogowaniu, tzn zależy jak ma napisane logowanie wink.gif
zipzap
W czystym php jest chyba jedna opcja jak to uzyskać ale korowody są zdecydowanie za duże żeby brać to rozwiązanie na poważnie.
Chodzi mianowicie o Crona. Robisz sobie skrypt, który odświeża ci stronę co X minut i ustawiasz Crona tak, żeby uruchamiał skrypt co zadany okres czasu.
Rozwiązanie bezsensowne i niepotrzebnie obciążające serwer ale w czystym PHP tongue.gif
Zaznaczam żeby nie brać raczej takiego rozwiązania na poważnie chyba że dla czystej próby wykonania czegoś takiego.
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.