|
|
Zkritizuju se sám
|
14.7.2004 19:49
Petr Zajíc
|
Používání testu prázdného pole empty ($_REQUEST) je ošemetné, protože $_REQUEST zahrnuje nejen požadavky zaslané pomocí GET a POST, ale rovněž COOKIES. Čímž může test nechtíc selhat, neb sice nebyl odeslán formulář, ale zato byla nastavena nějaká cookie. Lepší je proto testovat buď konkrétní prvek pole ve smyslu empty($_REQUEST["Nazev"]), nebo použít ten trik se skrytým prvkem pole. |
|
|
Re: Zkritizuju se sám
|
15.7.2004 16:02
Michal Vyroubal
|
Možná se ptám hloupě, ale proč ne rovnou:
if (!$UzJsemToOdeslal) ...
:-) Článek je super, ale už aby bylo MySQL |
|
|
Superglobální pole
|
17.7.2004 19:56
Petr Zajíc
|
Pravdu má spíš Michal, safe_mode je něco jiného. Superglobální pole $_GET, $_POST, $_REQUEST, $_SERVER a některá další umožňují napsat kód, který bude jak malinko bezpečnější, tak i malinko čtivější. Samozřejmě bude zase malinko delší, ale co se dá dělat.
Jelikož kromě proměnných z formulářů ještě mohou být k dispozici proměnné z sessions, cookies a globální proměnné, rozhodně bych se použití lokálních proměnných stejného názvu jako jsou prvky formuláře vyhnul. Už z toho důvodu, že při register_globals nastaveném na ON (tedy v situaci, kdy $_POST["nazev"]) je k dispozici i jako $nazev) rozhoduje o tom, kterou proměnnou máte při konfliktu názvů na mysli php.ini (!!!). Což může při odlišném nastavení na různých serverech vést ke zhroucení kódu, programátora, případně zákazníka. Navíc se chyby podobného typu objeví "až někdy" (vlastní trpká zkušenost). |
|
|
Změna při každém odeslání formuláře
|
19.2.2008 20:36
Dan Pelíšek
|
Dobrý den,
Potřeboval bych při každém odeslání formuláře připsat do tabulky další řádek, ale nevím jak bych to měl udělat. Skript s formulářem je zároveň spracovávacím skriptem (tedy action="<?php echo $_SERVER["PHP_SELF"]?>"). Nevíte jak na to? |
|
|
Re: Změna při každém odeslání formuláře
|
22.7.2008 11:52
Lukáš Pop
|
Ulož si obsah tabulky do souboru nebo databáze. |
|
|
Kontrola zpracovanosti pomocí empty($_REQUEST)
|
26.8.2010 12:29
Leoš Junek
|
Používám aktuálně PHP 5.2.6, systém SLES 10.3, jádro 2.6.16.60-0.67.1. Zpracování formuláře s kontrolou toho, zda již byl odeslán, mi ve variantě se skrytým polem hází chybu - nedefinovaný index asociativního pole $_REQUEST . Varianta s empty($_REQUEST) mi nefunguje vůbec. A proč asi? Přímo nad nadpisy GET a POST uvádí autor, že pole $_REQUEST obsahuje dva prvky, nikoli jen jeden, který mu byl přiřazen formulářem.
Řešením je mírná obměna podmínky na začátku:
if (!isset($_REQUEST["UzJsemToOdeslal"]))
|
|
|
|
|
KOMENTARZE
|
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
|
|
Szukanie oprogramowania
|
©Pavel Kysilka - 2003-2024 |
maillinuxsoft.cz | Design:
www.megadesign.cz
|