Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Blokada przed floodowaniem
spenalzo
post
Post #1





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Mam taki oto problem:
jestem w trakcie pisania ksiegi gości i chcę zrobić blokadę przed nabijaniem wiadomości. Napisałem taki oto kod, ale coś nie działa, bo cały czas się pokazuje "Musisz poczekać 30 sekund aby dodać kolejny wpis."
oto kod:
[php:1:a34fbe0691]<?php
if(empty($HTTP_SESSION_VARS["ostatni"]))
{
$last=time();
}
else
{
$last=$HTTP_SESSION_VARS["ostatni"];
}

if(floor(time()-$last)>30)
{
$ostatni=time();
session_register("ostatni");
// instrukcje
}
else
{
echo "<br><b>Musisz poczekać ".abs(floor((time()-$last)-30))." sekund aby dodać kolejny wpis.</b>";
}
?>[/php:1:a34fbe0691]
Co tu może być nie tak?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
cahe
post
Post #2





Grupa: Zarejestrowani
Postów: 223
Pomógł: 0
Dołączył: 22.03.2003

Ostrzeżenie: (0%)
-----


Cytat
Cytat
musze napisać warunek który nie daje użytkownikowi cookie, jeśli był pierwszy raz.

No właśnie i nadal mam problem z tym. Wszystko działa jak należy, ale gdy użytkownik po raz pierwszy chce napisać jakąś wiadomość to i tak wyświetla mu się "Musisz poczekać...." - przy następnych jest już ok. Jak to zrobic?


Tu jest błąd:
[php:1:2063f228ba]<?php
if(empty($HTTP_COOKIE_VARS["ostatni"]))
{
$last=time();
}
?>[/php:1:2063f228ba]

Jeśli wchodzi i zapisuje się po raz pierwszy to cookie jeszcze nie działa (dopiero po przeładowaniu strony zacznie) - więc gość automatycznie nie może się dopisać, bo nadajesz mu jako ostatni czas dopisywania aktualny czas :-).
Go to the top of the page
+Quote Post

Posty w temacie


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: 27.12.2025 - 20:02