Autor | Zpráva | ||
---|---|---|---|
Mix Profil * |
#1 · Zasláno: 6. 8. 2005, 09:58:14
Co znamená hláška... Notice: Undefined variable
Na webu mi to chodí, ale pod localhostem mi to vyhauzuje todle. Ví někdo co to je a proč to dělá? |
||
Hugo Profil |
#2 · Zasláno: 6. 8. 2005, 10:03:28
Protoze pouzivas napr. v podmince neinicializovanou promennou.
Staci nastavit v php.ini error_reporting = E_ALL & ~E_NOTICE a restartovat apache |
||
Mix Profil * |
#3 · Zasláno: 6. 8. 2005, 10:36:14
díky.. zkusím to
|
||
Hugo Profil |
#4 · Zasláno: 6. 8. 2005, 10:38:46
Mix
Ale je lepsi a bezpecnejsi vsechny promenne pred pouzitim inicializovat a pak ti to pobezi i bez zmeny konfigurace. |
||
Mix Profil * |
#5 · Zasláno: 6. 8. 2005, 11:08:59
Tomu nerzumím... proč mi to teda hlásí tu NOTICE, když to běhá v pohodě. Proč je lepší to mít zapnutý?
|
||
Tomik Profil |
#6 · Zasláno: 6. 8. 2005, 11:11:58
Pro ladění je lepší to mít zapnuté, protože script hlásí i sebemenší chybku, pro ostrý provoz se to doporučuje vypnout (a taky má většina hostingů vypnuté).
Ta hláška říká, že nebyla definována proměnná, je ji tedy potřeba zinicializovat... |
||
Mix Profil * |
#7 · Zasláno: 6. 8. 2005, 11:16:07
O.K.
Tak co mi třeba říká todle.. žádnou chybu tam nevidim... Notice: Undefined variable: send in c:\inet_srv\http\doc_root\anketa.php3 on line 11 <? //pro pripad ze jeste nebyl odeslan formular if (File_Exists ("anketa.dat")): $fp = FOpen("anketa.dat", "r"); $data_anketa = FRead ($fp, FileSize("anketa.dat")); List($ano,$ne) = Explode("#", $data_anketa); endif; //formular jiz byl odeslan a bylo hlasovano ano nebo ne //soubory jeste neexistuji if ($send=="ano" && ($anketa == "ano" || $anketa == "ne")): if (!File_Exists ("anketa.dat")): $ano = "0"; $ne = "0"; //zapis do anketa.dat $fp = FOpen("anketa.dat", "w"); FWrite ($fp, $ano ."#" . $ne); FClose($fp); endif;[b][/b] |
||
Hugo Profil |
#8 · Zasláno: 6. 8. 2005, 11:23:02
Ale to uz sem ti psal, ta promenna $send neni nikde inicializovana, takze ji nemuzes testovat. Ale chyba je pouze NOTICE, to znamena, ze skript jede dal. Je to ovsem potencialni bezpecnostni dira, protoze pokud mas zaple register_globals, tak se da hodnota teto promenne ovlivnit pres URL
|
||
Mix Profil * |
#9 · Zasláno: 6. 8. 2005, 12:55:52
Jo už to chápu... díky
|
||
Časová prodleva: 9 dní
|
|||
SMtex Profil * |
#10 · Zasláno: 15. 8. 2005, 19:00:18
jinak.. staci to zmenit jen na error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT a taky to jde...
|
||
krteczek Profil |
#11 · Zasláno: 16. 8. 2005, 15:05:37 · Upravil/a: krteczek
prostě je duležité abyste se naučili všechny proměnné které ve skriptu použijete nejprve definovat a potom k nim mužete přistupovat.
prostě tímto zpusobem, navíc je třeba ošetřovat co ta proměnná obsahuje a podle toho řešit,co dál s ní krteczek |
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0