Autor Zpráva
Crazyfan
Profil
Dříve jsem měla PHP Triádu na Win98, přešla jsem ale na XP a tam mi nefungovala, tak jsem si stáhla Light Server. Mám ale problém s proměnými. Když chci jen otestovat jejich existenci, nebo za-li jsou naplňené píše mi to chybu jako je tato:

Notice: Undefined variable: selection in c:\inet_srv\http\doc_root\mjfcn\pgs\home.php on line 8

Testuji to normálně:

if ($promena){
...
}

Vždycky mi to fungovalo! Něco se změnilo v syntaxi? Internet mám teprve 2 týdny a nestíhám to sledovat...
llook
Profil
Ta chyba znamená, že používáš nedefinovanou proměnnou.
Pokud opravdu chceš takhle testovat existenci proměnné, tak si v php.ini nastav error_reporting = E_ALL & ~E_NOTICE
Ale existence proměnné se normálně testuje funkcí isset:
if (isset($promenna)) {

//...
}

Pak to žádný podobný chyby nehází a má to i další výhody.
Crazyfan
Profil
OK díky...to bude lepší, děkuji

Ještě dotaz: jak tedy testovat neexistenci proměnné?
Crazyfan
Profil
V pořádku...už to mám :-)

Děkuji
thingwath
Profil *
Pomocí uvedeného konstruktu isset, ten ověří, zdali proměnná existuje. Pak ještě existuje konstrukt empty, který ověřuje, zdali v proměnné něco je. Detaily jak jinak, v dokumentaci.
Toto téma je uzamčeno. Odpověď nelze zaslat.