Въпрос за бан система

CosaNostra

Registered
Здравейте! Интересува ме как е по-добре да се направи една бан-система: Като задавам до кога не може да се влиза в сайта ( 8.8.2013 ) или чрез timestamp?
 
time ти върши перфектна работа ако го записваш в база данни, тъй като ти връща число.
 
А с date какви проблеми е възможно да се появат?

PS: Kак като го запиша с timestamp мога да изкарам до кога е блокиран като ден

примерно: бан до 20.12.2015 00:13:40?
 
CosaNostra каза:
А с date какви проблеми е възможно да се появат?

PS: Kак като го запиша с timestamp мога да изкарам до кога е блокиран като ден

примерно: бан до 20.12.2015 00:13:40?
просто друг тип стравняване ще имаш.
Аз просто си казах мнението. По-лесно би било да сравняваш 2 числа от колкото дата. Поне за мен е така.
http://web-tourist.net/login/login/view.php?st=3412
Разгледай това, ако имаш желание :)
 
Супер, много ще ми помогне урокът ти!

Оставям темата за сега отворена, докато не си завърша системата.. :?:
 
Аз ползвам timestamp и пак ги банваш до точна дата. Един вид ако го банна днес на 21.06.2013г. 20:10ч. за една година, изкарвам съощение че си бан до 21.06.2014г. 20:10ч.

time() в случея няма да свърши работа защото не знаеш кои месец колко дена е, така де има месеци с 31 дена с 30 дена и така ама с mktime() положението е друго.

PHP:
$hour = mktime(date('H') + 1, date('i'), date('s'), date('m'), date('d'), date('Y'));
$day = mktime(date('H'), date('i'), date('s'), date('m'), date('d') + 1, date('Y'));
$month = mktime(date('H'), date('i'), date('s'), date('m') + 1, date('d'), date('Y'));
$year = mktime(date('H'), date('i'), date('s'), date('m'), date('d'), date('Y') + 1);

Или ако искаш един час напред на mktime(date('H') слагаш +1 както е горе в кода за час, ден, месец, година.
 
Meniak каза:
PHP:
$hour = mktime(date('H') + 1, date('i'), date('s'), date('m'), date('d'), date('Y'));
$day = mktime(date('H'), date('i'), date('s'), date('m'), date('d') + 1, date('Y'));
$month = mktime(date('H'), date('i'), date('s'), date('m') + 1, date('d'), date('Y'));
$year = mktime(date('H'), date('i'), date('s'), date('m'), date('d'), date('Y') + 1);

Защо си усложняваш живота?

PHP има функцията strtotime(), която прави точно това, което искаш:

PHP:
<?php
echo strtotime("now"), "\n";
echo strtotime("10 September 2000"), "\n";
echo strtotime("+1 day"), "\n";
echo strtotime("+1 week"), "\n";
echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n";
echo strtotime("next Thursday"), "\n";
echo strtotime("last Monday"), "\n";
?>
 
На мен не ми е важно да е с точност до ден при бан за месец ( или повече ). :)

Благодаря на @index , приключвам темата, за да няма излишен спам! :?:
 

Back
Горе