LINUXSOFT.cz
Nazwa użytkownika: Hasło:     
    CZ UK PL

> Komentarze :: článek PHP (24) - Pracujeme s formuláři

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
Zkritizuju se sám 14.7.2004 19:49 Petr Zajíc
L Re: Zkritizuju se sám 15.7.2004 16:02 Michal Vyroubal
Superglobální pole 17.7.2004 19:56 Petr Zajíc
Změna při každém odeslání formuláře 19.2.2008 20:36 Dan Pelíšek
L Re: Změna při každém odeslání formuláře 22.7.2008 11:52 Lukáš Pop
Kontrola zpracovanosti pomocí empty($_REQUEST) 26.8.2010 12:29 Leoš Junek
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
> Szukanie oprogramowania
1. Pacman linux
Download: 4850x
2. FreeBSD
Download: 9044x
3. PCLinuxOS-2010
Download: 8541x
4. alcolix
Download: 10915x
5. Onebase Linux
Download: 9631x
6. Novell Linux Desktop
Download: 0x
7. KateOS
Download: 6219x

1. xinetd
Download: 2382x
2. RDGS
Download: 937x
3. spkg
Download: 4692x
4. LinPacker
Download: 9918x
5. VFU File Manager
Download: 3173x
6. LeftHand Mała Księgowość
Download: 7171x
7. MISU pyFotoResize
Download: 2775x
8. Lefthand CRM
Download: 3540x
9. MetadataExtractor
Download: 0x
10. RCP100
Download: 3089x
11. Predaj softveru
Download: 0x
12. MSH Free Autoresponder
Download: 0x
©Pavel Kysilka - 2003-2024 | mailatlinuxsoft.cz | Design: www.megadesign.cz