![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 0 Dołączył: 18.06.2003 Skąd: Mazowieckie Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Jak zrobić coś takiego aby uzytkownik po zalogowaniu na strone mial jakiś okreslony czas np: 20 min na wykonanie czegos (np: wybranie kilku opcji na formularzu) i po tym czasie juz nie mial do tego dostepu. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 197 Pomógł: 0 Dołączył: 9.09.2003 Skąd: z Marsa Ostrzeżenie: (0%) ![]() ![]() |
Po wejściu do obszaru zabronionego stawiasz sesje
$_SESSION['czas_wstepu'] = time(); i na innych podstronach sprawdzasz czy $_SESSION['czas_wtepu'] jest mniejsze od czasu czasu wstepu + 20 minut (20*60*60) i jeśli jest mniejszy to może oglądać dalej, a jesli nie to przekierowanie na strone główną albo inną. Pozdro |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 0 Dołączył: 18.06.2003 Skąd: Mazowieckie Ostrzeżenie: (0%) ![]() ![]() |
A jesli przy zalogowaniu na strone tworzona juz jest sesja to moge ja jakoś wykorzystać w tym celu czy tworzyć nowa ?
I jeszcze jedno pytanie odnosnie formatu czasu i sprawdzania. Czas na przebywanie bedzie w takim formacie gg:mm:ss czyli 00:20:00, ktory bedzie pobrany z bazy. Jak go sprawdzać z sesją ? |
|
|
![]()
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 197 Pomógł: 0 Dołączył: 9.09.2003 Skąd: z Marsa Ostrzeżenie: (0%) ![]() ![]() |
To ze jest tworzona sesja to dobrze.
Ty tylko dopisujesz kolejną zmienną do sesji. Czas jest zapisywany jako ilość sekund od 1970 roku. [php:1:daae8ed474]<?php $_SESSION['czas_wstepu'] = time(); $_SESSION['ile_minut'] = 20; ?>[/php:1:daae8ed474]I teraz sprawdzasz: [php:1:daae8ed474]<?php $czas = time()+($_SESSION['ile_minut']*60*60); if($_SESSION['czas_wstepu']<$czas) { //pokazuj dane } else { //wyjdz ze strony bo Ci sie czas skonczyl } ?>[/php:1:daae8ed474] Powinno działac. Pozdro |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 0 Dołączył: 18.06.2003 Skąd: Mazowieckie Ostrzeżenie: (0%) ![]() ![]() |
Dzieki.
A czy to: [php:1:cb4b6fd9ae]<?php $_SESSION['ile_minut'] = 20; ?>[/php:1:cb4b6fd9ae] moge zastapic zmienna pobrana z bazy sql ? |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 152 Pomógł: 0 Dołączył: 15.05.2002 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
oczywiscie, ze mozesz (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
nie wazne skad masz wartosc zmiennej ... wazne, ze ja masz (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 0 Dołączył: 18.06.2003 Skąd: Mazowieckie Ostrzeżenie: (0%) ![]() ![]() |
Kurcze jakos to nie dziala (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 152 Pomógł: 0 Dołączył: 15.05.2002 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
zaprezentuj kod. ... nikt nie jest wrozka, by pomoc bez obserwacji przypadku (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
|
|
|
![]()
Post
#9
|
|
Grupa: Przyjaciele php.pl Postów: 197 Pomógł: 0 Dołączył: 9.09.2003 Skąd: z Marsa Ostrzeżenie: (0%) ![]() ![]() |
Nie mam pewnosći czy tamten kod na pewno działa.
Tu masz nowy który działa na 100 %: [php:1:5d6665329a]<?php session_start(); if(!isset($_SESSION['czas_wstepu'])) { $_SESSION['czas_wstepu']=time(); $_SESSION['ile_minut'] = 1; } $czas = $_SESSION['ile_minut']*60; $czas1 = time()-$_SESSION['czas_wstepu']; echo 'jestes na stronie:'.$czas1; echo ' sekund z wyznaczonych: '.$czas.'<br>'; if($czas1 < $_SESSION['ile_minut']*60) { echo 'możesz sobie łazić po witrynie'; } else { echo 'twój czas minął'; } ?> [/php:1:5d6665329a] Pozdro |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 0 Dołączył: 18.06.2003 Skąd: Mazowieckie Ostrzeżenie: (0%) ![]() ![]() |
Teraz działa prawidłowo. Wielkie dzieki Simpson.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 19:02 |