Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dostęp do witryny na czas.
paweln
post
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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
cichy
post
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
Go to the top of the page
+Quote Post
paweln
post
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ą ?
Go to the top of the page
+Quote Post
cichy
post
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
Go to the top of the page
+Quote Post
paweln
post
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 ?
Go to the top of the page
+Quote Post
HaRy
post
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)
Go to the top of the page
+Quote Post
paweln
post
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)
Go to the top of the page
+Quote Post
HaRy
post
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)
Go to the top of the page
+Quote Post
cichy
post
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
Go to the top of the page
+Quote Post
paweln
post
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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 19:02