Autor | Zpráva | ||
---|---|---|---|
snazimse Profil |
#1 · Zasláno: 12. 9. 2014, 23:26:48
Zdravím,
mám takový problém, dal jsem si klasickou podmínku z formuláře,kde ověřuju tel.číslo. Ale prostě mi to nefunguje,když tam mám více parametrů v if případě POST. Když to dám do elseif v pohodě,ale jinak ne,funguje to celé nějak špatně. Tak nevím,jestli to nezvládá provést ten skript,najednou? Poradí,někdo v čem je problém? Díky moc! if( trim($_POST['telefon']) == '' && (!(is_numeric($_POST['telefon']))) && (!(strlen($_POST['telefon']) <= 9)) ) { $chyba_tel = 'Špatně zadané číslo telefonu!'; $chyba_total = true; } else { $data['telefon'] = trim($_POST['telefon']); } |
||
lionel messi Profil |
snazimse:
„Poradí,někdo v čem je problém?“ Výstrel naslepo: celkom sa mi nepozdáva umiestnenie operátorov negácie, skús takto: if( trim($_POST['telefon']) == '' && (!is_numeric($_POST['telefon'])) && (!strlen($_POST['telefon']) <= 9) )
|
||
snazimse Profil |
#3 · Zasláno: 12. 9. 2014, 23:39:01
Díky,ale výsledek pořád stejný!
|
||
lionel messi Profil |
Tak skús:
if( !trim($_POST['telefon']) || (!is_numeric($_POST['telefon'])) || (!strlen($_POST['telefon']) <= 9) )
Predpokladám, že chceš použiť operátor or, nie and. |
||
Alphard Profil |
#5 · Zasláno: 13. 9. 2014, 00:15:18
lionel messi:
„Predpokladám, že chceš použiť operátor or, nie and.“ Samozřejmě, elseif dělá OR, ale i s tou opravou to nedává moc smysl. Proč třeba tohle? !(strlen($_POST['telefon']) <= 9))
Uživatelé rádi zadávají +420..., 777 603... apod. Naopak nevidím důvod povolovat cokoliv kratšího než 9 znaků. |
||
Pleca Profil |
#6 · Zasláno: 13. 9. 2014, 00:42:53
if (empty(trim($_POST['telefon'])) || (!is_numeric($_POST['telefon')) || (!(strlen($_POST['telefon']) <= 9) {
$error = 'Neplatne tel. cislo!'; } co tohle?? |
||
mimochodec Profil |
#7 · Zasláno: 13. 9. 2014, 01:17:12
No já nevím, ale mě by hláška "Špatně zadané číslo telefonu!" bez bližšího popisu moc nenadchla a kdybych se třeba v případě zápisu "+420 777 888 999" dost rychle nedozvěděl, jestli tomu skriptu vadí mezera, délka, plusko nebo co vlastně, asi by mě to dost rozzuřilo a pokud bych opravdu službu od toho webu nepotřeboval, zavřel bych ho.
Tím chci říct: nejdřív se pokus vyjít vstříc tím, že mezery a nečíselné znaky si tam vymlátíš sám. A hlavně: když i pak budeš přesvědčen, že jsem napsal něco, co nesplňuje podmínky, nepiš 'Špatně zadané číslo telefonu!', ale 'máš tam to a to špatně'. |
||
Tori Profil |
#8 · Zasláno: 13. 9. 2014, 09:21:44
A pokud by se to mělo provozovat i v jiném než českém kontextu, tak by bylo dobré zohlednit i oddělení meziměstské volačky: 02/1234 5678.
|
||
snazimse Profil |
#9 · Zasláno: 14. 9. 2014, 22:27:40
Samozřejmě máte pravdu,není to zcela správné.
Ale jde mi spíše o to proč to skript nezvládne a nefunguje,tím způsobem,jak má. S tím operátorem nebo to funguje,ale nějak mi nedochází proč, použít tento operátor,když mají obě podmínky platit zároveň. Díky! |
||
mimochodec Profil |
#10 · Zasláno: 15. 9. 2014, 02:57:12
snazimse:
„S tím operátorem nebo to funguje,ale nějak mi nedochází proč, použít tento operátor,když mají obě podmínky platit zároveň.“ Jestli se ti nezdá chování operátorů v prvním příspěvku, tak tam vyhodnocuješ stav, kdy je zadaný text prázdný a zároveň není číslo a zároveň jeho délka není rovna nebo kratší než devět. Vlož tam nečíselný text, který bude zároveň prázdný a zároveň delší než devět znaků a ten if bude splněn. |
||
Časová prodleva: 10 let
|
0