Autor Zpráva
Marek Skála
Profil *
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
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
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
Marek Skála
<?php

if (!empty($_POST['seznam']))
{
$fp = fopen("../includes/sez.html", "w");
fputs($fp, $_POST['seznam']);
fclose($fp);
}

?>
nightfish
Profil
Charlie
je to přesně obráceně, první uvedený řádek potlačí zobrazování upozornění, druhý je povolí...
Toto téma je uzamčeno. Odpověď nelze zaslat.