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

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

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

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

















nw21sf 6930p nbt 9412awsmi m51vr hsd100ifw1 n1333bge bm sateliteppro lp154wx7 1001ha v131 web4site linksysppap2 nintendo mtests n586 x200mkeyboard nx9010 x59 ultrabayislim turioni64 vostro1015 1564 8510 ltn154bt turionm64 xinya display 9600 m9410 fbat8062011 dtest0 t3500 ss wsxga u135dx downloadedriver 5315 svs13 b141ew04 as023170376 x200m ultrabaysslim 630 210 rt3090bc4 e8500 2550 ltn133at16 08n013 nvidiangeforce1fx55600 athlon kfrs dc020 bcm943 6715 ddr 400 ramlopametmi linksysspap2tvoip max1540e port s1 hpudv5 14x14 y580 ltn156at27 x55d 5723 l450 RAM 7530 4710s momentus ramrapametli новини compagpresario1255 553 linksys0pap2 71314l xbox ruteri hprdv5 1024mbtddru400mhzeram dvb evo linksysepap2mvoip sgr271 lga775 ltn156at20 1737 vmv160sgr12gm plb mini b133xw 6017b0077001 dtesti hard nc6220 cq50 8637 downloadrdriver vpceh ltn156at nvidiageforcefx5600 kingbo platka hpidv5 t43p 4048 webasite v072078bs2 6038a0002301 compagnpresario51255 atestu x200vkeypad 3470 seagate 180w m2n pcmcia u135 Втора употреба sodimm fs 42v9647 15 joybook офис пакет x54c ms1672 v5505 tbd485nr 7600 142200 3042 acer5536g 92p1073 s205 9500 emahref k50c pcg2188m r50e optiquest fl9030 n6000 250g1 claa156wa01a k7610w b154ewo8 edno3dve уеб vt6000 inspiron playstation 39t2879 5551 hpkdv5 as023216000 7f0814 4515s 4820 eee lp165 91p7267 lap e540 cw60 epd videokarti 45n2414 nr21j e6500 wkc19 satelitelpros4200tseries p8400 t400s 1720 baterija k550 p750 hannspree ex720 ednovdve c700 saund 90200854 1310 p300 n5040 s4033 r101 ednozdve 259ia as07 nlink tuchpad 5620 1024mb0ddrb400mhzaram ramp 3521 dano n5010 t doduo tc4200 7a2g25mi compagapresariot1255 turion064 6stroistvo v3 stesti порнмо pata x52j d020010l corsair 9413 k50 6038b0003501 satelitepproe4200 b141pw04 2236 4950 1024mbaddrr400mhzuram kfrbg108a amzhu00040 linksysipap2avoip hpbram 841 mf60100v1 8530 x2005keyboard asusx52d nvidiasgeforcemfxc 6017b0050801 bcm943228 6001889 d800 n750 462 x50 linksyszpap2 cable 1005hag lenovozx y510 d531 u31 webcsite vostro nvidia звукова linksyxs 13r1015 b154 устройство 771 dc02001me0j 1024mbeddrd400mhztram pk0700 b133xw01 e71 39t3679 ltn150xg 2540 rampapametsa ddr lan 625 nvidiasgeforceufxi ptest0 k52dr 06024 lq150u1lw22 vga 6200 90w d1s01uc ram00pametit ar5bx m15 x200lkeypad hsd101pfw2 3525 dmimenutacv 660 3560 cell msata da0za1yb6e6 толстой 41w1 pa3715u t4400 u52f диагностика ah531 hpdv5