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

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

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

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

















1a m5010 udqfrzh13cf0 1530 g510 c p8400 x200lkeyboard 566 slot x2004 hp4ram 210 lq154m1lw12 a300 pro72 amd ednoldve g750 k53s 9410 lite edno dve 9280 intel jakkzaszahranva6totosystroistvo sony satn mini0 ltn156at27 ltn156 at8blc106 259ia 4ur18650s web c700 ltn141xa t18i064 RAM k53sd claa154wb05an уеб 3042 92p6661 wirreles web0site claa154wb05a x2005keypad wuxga x2000keyboard ltn156ar21 t5600 kapak 7300gt f700 dellvinspironi1545 x71dl pcg71 nvidiaageforcetfxe5600 x55d k75 si3655 linksysipap2 e520 b140rw01 floppy 5551 w510 k52f dellisiri захранване psp ms1682 mk1246gsx kolnonki 8110 delta 1024mbvddru400mhzeram jakozavzahranva6totocystroistvo l300 siemens 8400 yoga 5745 m9410 39t2723 l650 речник pabas098 изработка 970 7430017 зарядно дел 1024mbaddrl400mhzmram linksysgpap2 hsd100ifw1 3660 as07a31 5710z dellrinspiront1545 rt9018a p200 k52j jetdirect as07a73 b50 e198444 n156 lp156wf2 70906 dc101228 saund turionu64 1024mb f3s tk330 fa03v004x00 a32f52 bcm94322h m762 g500 ultrabaypslim ctests f3u delloinspironm1545 сваляне edno1dve 1545 сервиз компютри надежда t7800 7121 sl7ep max1632 1723 t1400 x70ac hpedv5 t9600 jakkzaszahranva6totobyst xxl acer5742g 6930 41w1121 ssd x56t turion 316677400001-rod mtc c50 tf201 6735 kfrbg108a kdb0705hb bluetooth sim ltn15amcript gigabite r55 k000040600 hp6ram gsm 5335 l305 adp90 k50ij x200e сервзи компютри обеля ram0 f553ma dv2699 download4driver r011 x200keyboard t43 1330 k8v 5742g 3810 htestm download driver 6410 732071 ednodve ultr 41w1483 14g140305011 hpadv5 m760 e1210 n134 ednordve acerlaspire v3505 g580 ddr400 l505d cr42s 1024mbeddrd400mhztram turionv64 502 a52 ad7005 nvidia0geforceufxi nvidia0geforcetfxe z460 pi2515 диагностика hpiram ap0gm000920 x200ukeyboard ramsupametse nx8220 ua2031p01 panda 42t0373 sata l412 r61e turionn64 dc02000lr00 dv9000 ltn154x3 cx600 te11hc 2441 b156 jvc x200m pp35l hpkdv5 downloadmdriver downloaddriver 2230 hpuram pa-1750-09 ddr4400 fgs sve14ag15m sateliterpror42002series phenom pcmcia owf34d sxga soundblaster 1310 hd5850 bfb1012h x200rkeyboard 420 5110n linksyxs pbkyboccyz712f cw60 42t4536 celeron n156bge delliinspirons1545 t2300e dell1700 1024mbsddrp400mhziram t400s gt240 6632l ytjj qosmio da0hs1iv6e7 40gb 4730 zd8000 vpcw22m1e 6038a0002301 nvidiageforcefx5600 55g dv4 wifi webssite pi2540 92 r51 bsb0705hc ntesta hpjdv5 hpram 6stroistvo cx6000x x2007keypad g585 obiavi ddr2 9500 antivirus ramkspametp2 x200t fbfm502 x200s compag hpdv5 s510p nvidiaegefor 7600 ar5b93