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

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

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

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

















capasi ultrabaytslim сеь hpvram ltd133 t9400 x75 ab7005hx s400 2535 dc02001me0j icm50la3581p hpmdv5 webosite hpmram vpcse 5740g k51ac Втора g500 li3910 t41 1505 e571 compagapresario 6017b0087401 580 21313 c700 njgin1000 g580 5110n nvidia8400 2510 5742 compag presario 1255 hpjram pp35l display 944 xtb70 nr21j viewsonixc z60 t570 satn compagspresarioa1255 saund amd dd0r36lc030 cq60 x52j v6535 5530 5745 backlight 1024mbaddrr400mhzuram 42t4536 awm 06024 ddrs400 dv5 ar5bh sve151g17m web4 5570 s400c amzhu00040 ram pamet hpg61 tj65 896 4710f turionl64 compagepresariom1255 jetdirect pk070009k 1070 w500 5735 jak za zahranva6toto ystroistvo max17015a pabas100 lp156wh1 2520m n134 5553 fingerprint gt30l z560 сваляне 1024mb ddr 400mhz ram sve14a2m1ep linksysppap2 2600 t1350 2.5 hdd ide 10006632 x200v l550 j91866 hsd100ifw1 8637 4540s 400w g570 satelitepro4200series boe0687 ddr3400 cq40 x200okeyboard x200n svt сервиз обеля 164 ltn156at27 x200i 13gn7bcap020 downloadbdriver 1547 ltn133at01 ram00pametit 678 sxga evo nb250 ltn156at20 сваляне драйвер lp154 svf152c29m np275 x200o acerlaspireione nmi trvelmate d020010l c30 linksysdpap20voip ltn156at19 ednoadve prehodnik 39t2723 process emachines nb200 wkc35 e131735 playstation1111111111111 thinkpad satelitelpros4200tseries n270 claa154wb05a a544 150 pro a20 nvidiasgeforceufxigos5600 5930 5tests am07w000100 x2000 41w1483 x200nkeypad ddor65lc030 6470 r50 e4300 db72 l50b 2510p ssd 5630z 1001ha m51 компютри downloaddriver 5808080k004 ddat8blc106 20798 pap 5738g pk070009l00 ltn156at39 nvidia0geforcetfxe5600 hp0dv5 tm86 p205 alivenf6g s510p t61 t440p 132 tbd485 94360 ytjj hard 6910 577065 turbo x2005keypad m55 6370 x500 turioni64 3553 u9200 max1540e mp20 mtest5 matrici t9600 8510 d531 benq linksysypb pk070018510 5732z s42200 k172a lenovo hplram 7736 sl510 pc3200cl25 seasonic dv5000 ntesta 316677400001-rod mtc pi3525 motherboard x2004keyboard 8089 satelite 2410 wireless pamet hptram 735 9436 2515 x200skeypad a9rp 550 r3000 t41p x51rl turionv64 5552g 6830 450 pbkyboccyz712f e8110 videocard 10tb 5335 a52 emachenes 1024mbeddrb400mhzaram op8ensuse dellvinspironi1545 x2000keypad satelitebpro ednovdve ddr2400 o4y2659 ramrapametmi inverter s3 b96fq pa35160e евтин сайт ltn133at07 92p6661 linksysypap2 b141pw01 hperam b154ew02 n11 2530p compag0presarios1255 x200vkeypad а31 t135 x200a 4559nr39l02 872 2540p dd0blilc020 lp156w linksysepap2evoip 2210 webesite 230w ltestu 4048 ttests compagapresariou1255 nvidiasgeforceefxc5600 dellsinspirona1545 k0107