Autor | Zpráva | ||
---|---|---|---|
Marek Skála Profil * |
#1 · Zasláno: 10. 2. 2007, 13:33:54
nainstaloval jsem si novou verzi PHP a najednu mi script, který předtím bez problémů fungoval hází chybu. Např. kód:
<?php if ($_POST['seznam'] != "") { $fp = fopen("../includes/sez.html", "w"); fputs($fp, $_POST['seznam']); fclose($fp); } ?> mi ohlásí vždycky chybu: undefinated index seznam nevíte co s tím? Díky |
||
HonzaH2 Profil |
#2 · Zasláno: 10. 2. 2007, 13:41:52 · Upravil/a: HonzaH2
To není chyba ale varovaní :o)
Zkoušíš číst prvek, který vůbec nemusí existovat. Sice to bude fungovat, ale není to úplně správně. Lepší by bylo testovat následovně: if (isset($_POST['seznam'])); |
||
Charlie Profil |
#3 · Zasláno: 10. 2. 2007, 14:03:25
Takhle se chovaly i starší verze PHP, rozdíl je ale v nastavení hlášení chyb. Výchozí nastavení PHP 5 je hlásit všechny chyby včetně upozornění, tzv. notice. Dobrý kóder má ošetřené samozřejmě i tyto nedostatky, pokud byste ale nechtěl měnit všechny Vaše skripty, můžete upravit konfigurační soubor php.ini tak, aby upozornění jednoduše ignoroval.
Otevřete tedy soubor php.ini a najděte následující řádek: error_reporting = E_ALL & ~E_NOTICE a upravte ho do následující podoby: error_reporting = E_ALL Po restartu webserveru by se vám již zmíněná upozornění neměla zobrazovat. |
||
jonge Profil |
#4 · Zasláno: 10. 2. 2007, 14:19:48
Marek Skála
<?php if (!empty($_POST['seznam'])) { $fp = fopen("../includes/sez.html", "w"); fputs($fp, $_POST['seznam']); fclose($fp); } ?> |
||
nightfish Profil |
#5 · Zasláno: 10. 2. 2007, 14:34:36
Charlie
je to přesně obráceně, první uvedený řádek potlačí zobrazování upozornění, druhý je povolí... |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0