Autor | Zpráva | ||
---|---|---|---|
Hora Vysoká Profil * |
#1 · Zasláno: 21. 12. 2005, 19:36:28
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 * |
#2 · Zasláno: 21. 12. 2005, 19:41:58
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 * |
#3 · Zasláno: 21. 12. 2005, 19:44:01
Jasně, díky ;) A co používáš častěji ty ? :)
|
||
gaminn Profil * |
#4 · Zasláno: 21. 12. 2005, 19:45:21
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 * |
#5 · Zasláno: 21. 12. 2005, 19:46:06
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 |
#6 · Zasláno: 21. 12. 2005, 21:31:02
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 * |
#7 · Zasláno: 21. 12. 2005, 21:45:47
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 |
#8 · Zasláno: 21. 12. 2005, 22:10:19 · Upravil/a: jozob
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 * |
#9 · Zasláno: 21. 12. 2005, 22:33:31
Právě že proměnná deklarovaná je, isset dává true. Alespoň myslím....
|
||
gaminn Profil * |
#10 · Zasláno: 21. 12. 2005, 22:34:59
Jj, je to tak....
|
||
Leo Profil |
#11 · Zasláno: 21. 12. 2005, 23:06:42
"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 * |
#12 · Zasláno: 21. 12. 2005, 23:15:08
Zkoušel jsem to jenom s input=text, takže asi záleží na prohlížeči, co pošle....??
|
||
Leo Profil |
#13 · Zasláno: 21. 12. 2005, 23:26:08
U textu by mela byt promenna odeslana vzdycky, pokud to policko nema treba stav disabled nebo neco takovyho, Leo
|
||
jozob Profil |
#14 · Zasláno: 22. 12. 2005, 06:53:55
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 |
#15 · Zasláno: 22. 12. 2005, 18:36:40
Já používám if ($neco != NULL).
|
||
jozob Profil |
#16 · Zasláno: 22. 12. 2005, 20:23:16
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 |
#17 · Zasláno: 22. 12. 2005, 22:40:40
"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 |
#18 · Zasláno: 22. 12. 2005, 22:41:36
A abych pridal sve vlastni reseni, pokud jde o textove policko formulare a jeho kontrolu, pouzivam regularni vyrazy. Leo
|
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0