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

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

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

Бързо присвояване на променливи от форма в 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>

















panti svf1521b1ew bq24740 nc6400 bell 5110n 800c зарядно Тошиба h710 42t3565 linksyskpap2 dmimenutac ltn156 as0231701d7841 x200e dv9700 458h13152rp ddct3blc101 cq ltn15amcript 710 5541 2530p sve14 dv6 gts450 diamondmax tm00751 lp156w т61 lp150x08 satelitempros4200hseries 92p6661 42t2515 d410 compagspresarioi1255 n1333bge webhsite hhd 2930z cx600 4ur18650s 580 vgn hinges k50ab m5010 l645d 39t2851 8110 speakers x2 fbat8062011 cq50 nvidia0geforcetfxe5600 m912 nw8240 f700 3175 65hb sz900 x80 bt156gw01 apple htest5 76g090410 13r1014 linksyspap2voip 5755g laptomit s205 linksysspap2tvoip линукс ar9280 q6600 wr7310 hpndv5 41w1121 e7300 x2009 lj96 turion164 lan u31 vcetka linksys pap2 x200tkeyboard 210 ddrn400 Зарядно Леново nc6320 button a860 as023216101 seagate remont 6710b 1005 2653 processor t5200 255 jvc матрица 5930 hlndd0bdalc020130605 5741z msi asrok x200okeypad 39t0071 l850 ramrapametli nvidiavgeforcetfxe zapisvachka laisna g5741 650199 e8500 satellite chip l655 1024mbeddrd400mhztram pk070009l00 k51 841n m115 p9600 5552g zd7000 nx6325 l50b p9700 11p8348 kolonki изработка на сайтове 5745g l550 webusite hpkdv5 simens 1024mbvddru400mhzeram tc4400 5650 21313 ddrw400 p7131 6910 kb3930 528 e8110 едно joybook rt9018a nx9010 nuc g450 n500 sempron ednotdve 2230s ddro400 13gn7bcap020 caddy ramnlpametri ramstpametmi n56 compagmpresarioh1255 ad7005 2037s5 vga 5755 v072078bs2 650 asusx52d thinkpad vpceb3f4e cq70 g530 mk1246gsx turion 64 3537 r011 linksys 42x3827 presario m1530 linksys pap2 voip 10006632 b575 as07b51 nvidiaageforcesfxm l859 8510 d6000 4965agn 5733 r61 g575 hpudv5 optiquest 502l nvidia0geforcetfxe u135 a1181 dv2000 a52 li1818 g505 c55 webosite nvidiaageforceufxi5600 x551 bcm943228 m101nwt2 klaviqtura n50 canyon vkluchvane intel linksysdpap2 nr21j 6910p mtestu jak0zaezahranva6totoeystroistvo iv1011 webnsite 2640m ytjj ltn154 7300gt twinmos laptop asusm51 test as023216500 6017b0087401 h5513b05hd 90200854 hp0ram pi3540 люлин компютърна помощ 1024mbsddri400mhzcram 1001 v6535 e4310 x200nkeyboard evo m762 g550 ltn154at07 bcm94322hm8l 42w2960 b089aw01 3470 6017b0077001 dell7inspirons1545 g600 w500 hp510 гугъл teight lightbook 180w t9800 4950 as023216300 ultrabayuslim сеь e71 vpceb t6600 ss c850 svcsaser x200b nf6 dellvinspironi1545 linksys8pap2 pagpf014kwc3u1 156 ptt50g82 pcg pi2515 v011162cs1 x2004keyboard 1521 wkc19 pa35160e ddrd400 2563 уеб сайт komputar op927c t2450 m1437g 5770 te11hc l505