Autor Zpráva
pesulap
Profil *
Ahoj peru se se spamerama .. mám podmínku když ip uživatele je rovna té zakázané tak se mu neukáže formulář a má smůlu ... a oni stejně i přes to mi to tam kopou ? !

if (($ip!="67.15.36.46") || ($ip!="66.98.250.59") || ($ip!="24.11.72.234") || ($ip!="67.15.18.27")) {
...}

jakto ?
pesulap
Profil *
ještě mě štve že mi tam kopou příspěvky se starým datumem :-(
mám takovejhle příkaz
Date("d.m. Y v H:i")
na datum a oni si to tam daj se starým jakto ?
Juras
Profil *
Máš v $ip REMOTE_ADDR?

Taky záleží na tom, co máš v {...}.
pesulap
Profil *
Tak mám $ip REMOTE_ADDR

A v {...} mám formulář ! prostě diskusní fórum ..
djlj
Profil
pesulap
Místo || použij &&.
pesulap
Profil *
počkej alě mě stačí jen jedna z těch ip aby byla ..
djlj
Profil
pesulap
Zkus to, a uvidíš, že mám pravdu.
DJ Miky
Profil
Buďto

if (($ip!="67.15.36.46") && ($ip!="66.98.250.59") && ($ip!="24.11.72.234") && ($ip!="67.15.18.27")) {
// zobrazeni formuláře
}

nebo

if (($ip=="67.15.36.46") || ($ip=="66.98.250.59") || ($ip=="24.11.72.234") || ($ip=="67.15.18.27")) {
// zobrazení hlášky o zablokování
}
else {
// zobrazení formuláře
}
pesulap
Profil *
díky
peta
Profil
pesulap
chybu mas v logice :) viz djlj
(!a || !b) {jdi dal}
udelej si tabulku:
a | b | !a| !b| z
0 | 0 | 1 | 1 | 1
0 | 1 | 1 | 0 | 1
1 | 0 | 0 | 1 | 1
1 | 1 | 0 | 0 | 0
a,b = 1 IP se shoduje se zakazanou
cili, jestlize tam to ip alespon 1x neni, tak je vysledek stejny jako kdyz tam neni pro vsechny pripady.
A pouze v pripade, ze je ip rovno vsem zakazanym je vysledek 0. Coz ale nikdy nemuze nastat :)

Zkus pouzit cyklus a pole.
$pole = array(
"67.15.36.46",
"67.15.36.46",
"67.15.36.46",
"67.15.36.46",
"67.15.36.46"
);
$ok = 1;
foreach ($pole as $key=>$value)
{if ($value==$ip) {$ok=0; break;}}
// nastav ok na 0 a prerus cyklus

Ja treba cistimspam filtrem slov. Uplne podobnym, jen podminka je regularni vyraz, ktery hleda dana slova. Pokud je najde, prispevek se neprida (takove jako cialis a pod)
souki
Profil
peta
místo cyklu bych použil spíš in_array

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: