Autor Zpráva
Hora Vysoká
Profil *
Když potřebuju zapsat, že jestliže se nějaká proměnná nerovná tomu, že je prázdná, tak je nějaký jiný zápis než ?

if ($_POST['JakPsatWeb'] != "")
gaminn
Profil *
Stačí napsat if (!$_POST['JakPsatWeb']), taková nejčistší metoda je ale asi s použitím funkce isset if (!isset($_POST['JakPsatWeb'])). Ale je to jedno, záleží na tobě, co si vybereš.
Hora Vysoká
Profil *
Jasně, díky ;) A co používáš častěji ty ? :)
gaminn
Profil *
Jo, zapomněl jsem - pokud testuješ neexistují proměnnou stylem $promenna=="ghjfghj", $promenna!="" apod., PHP vypisuje Notice. Což tě ale zase tak nemusí trápit, vypisování těchto zpráv je (téměř) vždy vypnuté.
gaminn
Profil *
Právě kvůli tomu, aby byl kód dejme tomu co nejvíce validní, používám isset, aby nedocházelo k vypisování notice.
llook
Profil
Prázdnota se zpravidla testuje funkcí empty. Takže if (empty($_POST['foo'])) {}

V manuálu je na to taková pěkná tabulka - http://www.php.net/manual/en/types.comparisons.php .
gaminn
Profil *
Jj, promiň, to co jsem napsal s isset je blbost, u formuláře to je nepoužitelný, proměnná je vždycky deklarovaná, takže to isset vyhodnotí na true, ale může obsahovat prázdnou hodnotu....
jozob
Profil
gaminn
Pokiaľ sa do prvku formuláru nezadá žiadna hodnota, premenná sa nezadeklaruje (resp. prvok poľa POST), takže isset vracia false
gaminn
Profil *
Právě že proměnná deklarovaná je, isset dává true. Alespoň myslím....
gaminn
Profil *
Jj, je to tak....
Leo
Profil
"to co jsem napsal s isset je blbost, u formuláře to je nepoužitelný, proměnná je vždycky deklarovaná"

To prijde na vec - treba pokud je ten prvek formulare checkbox nebo select s multiple tak promenna prijit nemusi vubec (a jsou i jiny moznosti). Leo
gaminn
Profil *
Zkoušel jsem to jenom s input=text, takže asi záleží na prohlížeči, co pošle....??
Leo
Profil
U textu by mela byt promenna odeslana vzdycky, pokud to policko nema treba stav disabled nebo neco takovyho, Leo
jozob
Profil
gaminn & Leo
Ja som to testoval ešte dávnejšie a pokiaľ som do textového inputu nezadal nič, premenná nebola deklarovaná... Ale to asi naozaj záleží na prehliadači... A možno s tým bude mať niečo aj server...
radimh
Profil
Já používám if ($neco != NULL).
jozob
Profil
radimh
Na serveri s nastavením error_reporting na E_ALL budeš dostávať NOTICE (poznámky)... (premennú by si nemal dávať do porovnávacieho výrazu, pokiaľ si nie si istý, či je zadeklarovaná)
Leo
Profil
"Já používám if ($neco != NULL)"

Nevim, jestli je to nejlepsi reseni, na to je kdyztak fce is_null, viz nejspodnejsi komentar na

http://php.ftp.cvut.cz/manual/cs/function.is-null.php

Leo
Leo
Profil
A abych pridal sve vlastni reseni, pokud jde o textove policko formulare a jeho kontrolu, pouzivam regularni vyrazy. Leo
Toto téma je uzamčeno. Odpověď nelze zaslat.

0