Autor | Zpráva | ||
---|---|---|---|
Erixx Profil |
Zdravím.
Odesílám email přes tuto kontrolu a do spamové odpovědi bych chtěl zadat všechna možná čísla od 1 - 9 (1,2,3,4,5,6,7,8,9) if ($predmet!="" and $email!="" and $text!="" and $spam=="1" or $spam=="2" or $spam=="3" .... or $spam=="9") Nebo jak mám dát do scriptu všechna čísla od 1 - 9, abych je nemusel do scriptu vypisovat všechna? Něco jako if ($predmet!="" and $email!="" and $text!="" and $spam=="1-9") Nebo třeba akcepovat při výstupu jen sudá čísla? Jak se toto udělá? Díky za radu! |
||
Alphard Profil |
!in_array($spam, range(1, 9)) /* nebo */ $spam < 1 || $spam > 9 is_numeric($spam) && $spam%2 == 0 |
||
Borius Profil |
Nebo
if (preg_match('/[1-9]/',$spam)) //TRUE při číslech 1 až 9 if (preg_match('/[13579]/',$spam)) //TRUE při lichých číslech, sudá projdou |
||
Erixx Profil |
#4 · Zasláno: 30. 9. 2013, 17:51:55
Alphard, Borius:
Díky kluci, funguje :) |
||
Erixx Profil |
#5 · Zasláno: 30. 9. 2013, 21:18:30
Borius:
Objevil se problém, kontrola odeslání projde sice v případech, kdyz je vyplněno požadované číslo (bud všechna od 1-9, nebo třeba jen sudá), odeslání proběhne ale i v případě, že je vyplněna požadovaná číslice (např. 1), ale projde i např 1000 nebo 1 ppp nebo porj1poo, prostě vždy, pokud je vyplněna nejen požadovaná číslice, ale i více znaků spolu s touto číslicí. |
||
Borius Profil |
Erixx:
Máš pravdu, zapoměl jsem, že má být zadrženo pouze jednociferné číslo. Takže správně je to takto: if (preg_match('/^[1-9]$/',$spam)) //TRUE při číslech 1 až 9 if (preg_match('/^[13579]$/',$spam)) //TRUE při lichých jednociferných číslech, sudá a víceciferná projdou |
||
Erixx Profil |
#7 · Zasláno: 30. 9. 2013, 21:45:09
Borius:
Funguje přesně jak píšeš! :) |
||
Časová prodleva: 10 let
|
0