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

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

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

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

















cq70 toshiba jv50 сервиз обеля cl51 arctic svf142c29m da0rt21v4c1 u500 fbfm502 dell0inspironu1545 t60n ux303 vostro1015 2.5 hdd ide t1350 bluetooth 1310 k52j pa2510 tx2650eg simens nvidiaegeforcebfxt b154ewo8 s3 ramelpametro ddrm400 tc4200 4435 xtestk 5930 cq567 bcm4322 nx6125 l530 nvidia0geforcetfxegoc5600 ltn101nt02 e2043 70009l00 ideapad z460 5755 linksysspap2nvoip t9 d530 r101 m6300 np300v5z 2640m emachenes dc02001me0j hitachi 210w capasi 94322 6038a0002301 philips 398 6930 r50 b570e as023170 p7131 pro72 l645d z500 296 t3500 linksysgpap2cvoip modem 42t042 580 lenvo g20 x71dl pi2540 x70ac z570 usb уеб pp35l t2350 opensuse quad едно 3850 14x14 sound 120df ltn154 z50 wefwe ide dv2699 4965agn bcm94360hmb downloadrdriver 39t3679 fseamilo ah530 nvidiatgeforcetfxe pcg2188m 3000n200 tj65 sve15 42w2960 ramsupametse 5101050k003 z60 ah544 v ramdipametor cr610 asusx52d ia6609 7850 1525 g500 nb200 7735 nvidiaageforcesfxm5600 vpceb nc8440 a20 v5535 compagdpresariob1255 1024mbeddrd400mhztram zso50 k52d r500 v3205 iconi545 nvidiangeforce1fx5 k53s x2000keyboard linksysspap2tvoip p8400 inwertor 550 nb250 dell7inspirons1545 cr620 asus1001 ultrabay jaknzaazahranva6totoiystroistvo wuxga dd0hk1c030 dv9700 ntesta ddrz400 lp hdd ide 2.5 l50 ltn154bt ltn141at12 7540 pbkyboccyz712f b116xw02 wsxg chip em520p4g 2100 linksys8pap2 ramrapametli 4530s ruter ultrabay0slim m51 6410 45n2414 0232 turionb64 x200e adp x59sl wairless 1735 400 45m2856 yoga t40 turi1 li3710 450 6820s b154 изработка backlight 13r1014 a53u 6017b0071301 120308 a100 65hb b133xw v131 linksysypap2 t1400 cq 560 b156 webosite nvidia geforce fx thinkpad compag 2570p compagepresariou1255 ltm 9413 2510 vkluchvane kabel cw60 351p7 dc101228lsn2 n156b3 pcg71 linksysdpap20voip cx600 mpt claa102na0acw 6017b0050801 2710 nx9110 icm50la3581p u31 nvidiangeforce1fx5gou5600 m15 s7110 uj8b1 x200lkeyboard np300 t9500 банишора panel seagate 2777 delllinspirone1545 k50ij n200 ockf 1201 ремонт linksyspap2voip x553ma 3521 b154ew08 acer5720 hperam 502l 8600 w15a v072078bs2 t135 p5we0 1681 x70 800c atestu o4y2659 x200mkeypad nvidia0geforceufxi nvidiaugeforceafxh c855 93p5570 f5sl d2301 kindle am2a 2515 d531 op8ensuse sl510 128 s4033 j91866 extensa s510p sateliteppros4200tseries 5360 1510 lq164m1ld4c jak0zaezahranva6totoeystroistvo 3323 slot as023172c28 ms7236 6930p linksys6pap2bvoip 36 cp184510 b156x 46470 to6iba satelite pro 4200 5770 t41p linksysypb 5808080k004 asusk50ab delliinspiront1545