Portál AbcLinuxu, 9. května 2025 21:55
$page .= "<td><input type=\"text\" name=\"name\" value=\"$_POST['name']\" /></td>";a PHP na mě křičí, že Notice: Undefined index: name Co to přesně znamená? že prom $_POST['name'] neexistuje, nebo ze existuje ale je prazdna nebo co přesně? Jak to můžu opravit? Když tu prom nadefinuji
$_POST['name'] = 'nevim co sem napsat';tak uz ji pak opravdová prom. nepřepíše, což je logické, ale nevim jak to pořádně ošetřit. Mužu jeste napsat podminku pokud neexistuje tak ji nějak nadefinuji (nevim sice jak) a pokud existovat bude tak se podminka nevykona. Ale nevím no jestli je to OK. Děkuji za pomoc ;)
Asi nejjednodušší bude něco jako
if(!isset($_POST['name']))$_POST['name']="";
Když už tak raději takto:
$page .= '<td><input type="text" name="name" value="'(.isset($_POST['name']) ? $_POST['name'] : '').'" /></td>';
htmlentities()
.
isset()
je možný způsob jak to ošetřit.
Vámi navržené řešení "nějak ji nadefinovat" může a nemusí být správné, z uvedených informací to nelze určit. Měl byste být sám schopen posoudit, jestli to 'name' je něco co potřebujete znát, nebo to lze nějak vygenerovat. Příklad: pokud vypisuji informace o produktech třeba z databáze a produkty jsou identifikovány pomocí 'name', nejspíš bez 'name' nebudu vědět co vypsat. Mohu vypsat informace o náhodném produktu, ale většinou spíš vypíšu chybovou hlášku, že uvedený produkt nebyl nalezen. Naopak pokud 'name' označuje třeba jméno souboru, která chci uložit třeba na server, tak mohu vygenerovat náhodné jméno a oznámit, že soubor byl uložen pod tímto jménem.
-vzdy definovat $prom=""; -nebo dat podminku jestli je plna if(!empty($prom) $add = $prom;)); -nebo dat podminku jestli existuje if(isset($prom) $add = $prom;));Díky
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.