СервизСервиз за компютри, лаптопи, поддръжка

ПродаваЧасти и компоненти, лаптопи и компютри

СтатииПолезни статии на компютърна тематика

Бързо присвояване на променливи от форма в PHP

Основното приложение на HTML формите при уеб разрабоките е изпращането на информация от страна на потребителя към сървъра.

Тук няма да се спираме конкретно на самите HTML форми, които сами по себе си са безмислени, тъй като след като информацията бъде изпратена, нашият PHP скрипт трябва да я обработи по подходящия начин.

За да тестваме конкретния прост пример, в root-a на нашия уеб сървър създаваме директория test , a в нея файл index.php.

В примера, ще пропускаме html кода, който няма директно отношение към нашия php скрипт, като body, head и meta тагове.

Във файла index.php създаваме една проста html форма с 3 променливи, които ще бъдат изпратени - име, възраст и email, като използваме POST метода:

echo " <form action="$PHP_SELF" method="post"> <label>Име:</label><input type="text" name="name" /><br /> <label>Години:</label><input type="text" name="age" /><br /> <label>E-mail:</label><input type="text" name="mail" /><br /> <input type="submit" value="изпрати" /> </form>";

В началото на скрипта добавяме:

if(!empty($_POST)) { echo "Вие се казвате:".$_POST["name"]."<br />"; echo "Вашата възраст е:".$_POST["age"]."<br />"; echo "Вашият e-mail e:".$_POST["mail"]."<br />"; }

Така, след потвърждаването на формата, инфромацията, която сме въвели ще бъде изведена на екрана посредством $_POST променливата, която представлява асоциативен масив от променливи, изратени на скрипта посредством POST метода. Тъй като има проверка за потвърждаване на формата, ако няма такова, нищо няма да бъде изведено, освен самата форма.

До тук всичко е наред, но когато се налага да използваме на много места в скипта тези промелниви, се появява неудобството, свързано с изписването им. Например, когато трябва да използваме годините на потребителя в някакви изчисления, би било по-лесно да използваме, като промелива $age, отколкото всеки път да пишем $_POST["age"].

За целта променяме тази част на скрипта по следния начин:

if(!empty($_POST)) { $name=$_POST["name"]; $age=$_POST["age"]; $mail=$_POST["mail"]; echo "Вие се казвате: $name<br />"; echo "Вие се казвате: $age<br />"; echo "Вие се казвате: $mail<br />"; }

Така променливите се пишат по-лесно, но ако формата съдържа много полета ще си усложним ненужно живота с присвояването. За да се справим с този проблем, ще използваме удобния foreach цикъл, за да обходим $_POST масива. Променяме горната част по следния начин:

if(!empty($_POST)) { foreach($_POST as $key=>$value) { $$key=$value; } echo "Вие се казвате: $name<br />"; echo "Вие се казвате: $age<br />"; echo "Вие се казвате: $mail<br />";

След като заредим страницата index.php, с радост ще установим, че всичко работи. Какво направихме всъщност?

При обхождането на $_POST масива с помощта на foreach, променливите $key и $value взимат стойностите съответно на името и стойността, които сме изпратили с html формата. Чрез $$key създаваме променлива със същото име, като това изпратено от формата - $name, $age и $mail и им присвояваме автоматично съответните стойности.

По този начин, можем с 3 реда код да създадем голям брой променливи, изпратени от дълга форма.

Важно! Копирането на статията е разрешено само при добавяне на връзка(линк) към източника, в случая computri.net.

Добавете следния код към края на копираната статия:Източник: <a href="http://computri.net/полезно-поддръжка-компютри/статии-49/новини-55/статия-2430/" title="сервиз компютри">сервиз компютри</a>

















zahranvane delta claa156wa01a 3470 pavilio l30 ltd111exca 1101 t8300 web7site jaksza 2659 316677400001-rod mtc 2653 wifi 2010 to6ibaasateliteuprot4200 4712mq v200 7n2l t61 rt3090 10tb nintendo 53030 nr21j 1745 41w1478 lp140wd hdd 6050a2170401 u135dx sxga 3515 wefwe 531 vpcse k73s 08g23us1011c stesti compagupresarior1255 9300 g560e dk1rc m7405 sgr271 g500 3710 ar5bhb92 1001ha ef hpudv5 l859 dv6700 pc3200cl25 e571 e6510 ednobdve trvelmate t61p 250g1 ohladitel m51vr 6935 mikrofon qdc v104702ak3 as07 hp4501s 5741 2.5 hdd ide xt70 t5200 ekran kabel download baterija ltn156at27 g31m3 b156 ednozdve 08g2005fz20j 398 ddr5400 45m2856 m101nwt2 42v9647 y520 f1d2wx26201g2 зваляне 1570 evo power hplram t5600 zahranwaniq b133ewo1 ramlopametmi windows mtests fan c655 mf60100v1 t9900 cq60 5552g delliinspirons1545 pk1301s0150 6710b hard 6stroistvo panel c6c4 u510 mtel a52f x200nkeyboard l1950 wwlan батерия dell satelitelpros4200tseries sl500 7600 x200zkeyboard dc020000s00 masaji linksysepap2mvoip 580 np300 8460 c650d 92 mk1235gsl arctic ar5bxb63 edp 7736 2420 acer linksysypap2svoip 8560w sve15 hub svf142c29m 5970g 6632l x551c dc02000iw00 изработка 1530 k72jk 3175 duo 8930 ddrz400 hpsram k75 pi3560 v573 ddrm400 speaker jakrza 2410s svcsaser 256mb wtesti 9413 b156x broadcom s206 edno 575 iocean 5542 hdd ide 2.5 as023172c28 asus1001 pk130 pj044 42w2444 si1520 jaklzanzahranva6totouystroistvo ltn154at07 twinmos 7430017 b156xw02 7214 1545 toshiba k7610w lpt bcm943228 надежда 754 kolnonki dd0r36lc000 202 6555b d630 nvidiaageforcerfxu sex linksysgpap2cvoip p9600 p6200 nvidia 9500m g780 ddr8400 660 5553 cpu k000040600 ramdipametor 546 lp156wf2 605764 to6ibaesateliteuprot4200 am2 palmrest k70 tbd403nr v3 x200nkeypad deal webbsite r36 ux303 5530 z500 4310 athlon li3910 web8site 1005 k8v 530301k0007 vaio c670 ddr2 b116xw02 ltn156at01 42w7997 lp156h4 v5505 ultrabayoslim noard video nc10 c850 da0za1y 6510b wd 6017b 6530b ltn141at12 cq50 сервиз компютри 5749 turiont64 ltn141bt06 68 d430 ap0gm000920 h5513b05hd mitac amzhu00040 b156xw01 d270 k010718r1 12v 7200 keyboard 0970 am07w000100 web2site p7230 2535 940 t41 pcmci 3test7 721h4 satn 3197 6735 pb9nc6b tw3 nlink 5110n 2.5 pc100 l412 5553g 510 turionn64 momentus 8700 wlan g75 dellsinspirons1545