Autor Zpráva
Monkeys
Profil *
Dobry vecer

na jednej stranke generujem 2 druhy vypisov podla toho ci sa klikne na jedno alebo druhe (prehodia sa len sablony).
Napadlo ma este pred samotnym vstupom kontrolovat ci je id tej ktorej sluzby cislo tak som napisal toto:
if (is_numeric($_GET['id_zakazky']) || is_numeric($_GET['id_sluzby'])){
a pod tym sa generuje cely kod stranky.
Pri kliku na zakazky (id_zakazky) je to ok ale ak kliknem na sluzby (id_sluzby) tak uz to hlasi chybu a stranka sa rozhadze.
konkretne chyba ze id_zakazky nie je definovana comu nerozumiem pretoze je tam ||

M.
Taps
Profil
Monkeys:
ci sa klikne na jedno alebo druhe
if (is_numeric($_GET['id_zakazky']) or is_numeric($_GET['id_sluzby']))
SeparateSK
Profil
No keď asi klikneš na ID_Sluzby, tak jasné že ID_zakazky nie je definované, lebo pozeráš služby a nie zákazky. || znamená "alebo"
Zechy
Profil
Taps:
I ten původní zápis byl dobrej, or se v programování zapisuje normálně jako or nebo jako ||.
Monkeys
Profil *
Taps:
or je myslim to iste ako || a skusal som to este pred tym ako som pisal prispevok - bez vysledku ...
SeparateSK:
To je jasne aj mne a preto tam je to "alebo" logicky by to malo byt spravne si myslim bud alebo.
Nox
Profil
or není úplně to stejné jako || - sémanticky ano, ale má jinou prioritu pořadí: http://www.php.net/manual/en/language.operators.precedence.php , http://www.php.net/manual/en/language.operators.logical.php
tzn. pokud vyměníte || za or, tak se v některých případech určitý výraz může vyhodnotit jinak
Tori
Profil
Monkeys:
Muselo by tam být ještě ověření, že ten parametr GET vůbec existuje:
if ( isset($_GET['id_zakazky']) && is_numeric($_GET['id_zakazky']) || isset($_GET['id_sluzby']) && is_numeric($_GET['id_sluzby']))
Osobně bych asi tohle ověření dala až do jednotlivých větví, kde generujete výpis služeb resp. zakázek.
Monkeys
Profil *
Tori:
Super dakujem mali ste pravdu :)

M.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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