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

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

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

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

















klaviatura 7121 medion pa3516e n134 g555 li1818 lap ddrp400 x200ekeyboard nb100 06024 compagspresariob1255 eser pk c700 li3910 6830 lp154wa01 42w7809 web8site qt6a ove 3560 hppdv5 db946a mitac travelmate 9000 acr ddru400 gt240 linksystpap2 b154ewo8 pa-1750-09 pc3200cl25 as023216000 5737z b140ew01 stikeri hpiram dv7 nvidiaageforcerfxu5600 b960 570 7e4 g31m3 t hplram lp154 compagspresarioa1255 евтин сайт 6050a2330501 4950 ultrabaypslim siemens intel l500 410 acerlaspire am2 x551 ux31e dms ltn156at15 a6400 linksysppap2rvoip 1545 fl9030 wlan pcmcia compagspresarioi1255 ddrk400 3810 65hb tm00751 db25 lp140wd x59gl cq40 1024mbaddrr400mhzuram зарядно дел e520 3612qm linksysrpap2 turiona64 webcsite 3 v011162cs1 528 modem dv6700 8089 5542 v3505 f8u2 benq jakiza download driver edno9dve k172a 9436 lp173wf1 docking x200o t42p nbx0000us00 sex thinkpad as07b51 2410 608m0 603 1735 vide to6ibaesatelitesproc4200 505s ultrabayoslim c670 nvidiageforcefxgo5600 yuj socet775 lenvo z570 x200okeypad msata 2570p 1525 42w7997 x200mkeypad x200lkeyboard 76g090410 nx8220 nvidiageforcefx pc133 5738g 8440 ednoodve 1855 s7020d компютър g20 adp to6 vpcse m55 nvidia geforce fx 5600 svf1521b1ew mtestu pro61s turions64 6600 t61p r100 xt70 5610z foxddc7003csd315 6320 Зарядно hp lg ramkspametp2 nuc sve15 n200 n6000 2400 jvc 1024mbuddrt400mhzhram t5200 1537 hp620 ex720 delleinspironi1545 grape32 compag max17015 nintendo b575 k50 r50 e8110 pavilio захранване downloadddriver 5730z k000046470 ramrapametli 6370 g7 t9600 ram1 diamondmax r36lc050 aspire5600 uj8b1 ametk42hax5dm 2713 ltd111excy ddrh400 linksysdpap2vvoip web2site 2230s kolnonki 6730b 660 x550c lp turionr64 antivirus evo op927c nb200 люлин pb9nc6b 180w turbo agp 31p emachines 5741 компютри обеля ada3800 ul50vg inwertor hp dc02000iw00 ltn160at01 6017b0050801 ramstpametmi hp0ram claa154wa01 prestigio 1215b 120308 svs13 e4310 db72 ap07w000i001 wuxga ltn154bt03 42w2960 f1d2wx26201g2 ednokdve hp5dv5 r61i сваляне драйвер v573 n11 corsair playstation1111111111111 gigabite kfrbg108a sl500 x551c p205 ltd121ewud sateliteepro x200u dc0200jv00 6715 l355 ux303 sateliteppron42005series as07a71 ltn116at01 ltn141xa изработка 41w1 l450 v5505 hpdv5 u510 rdram mishka f3j pi2515 teight klaviqtura linksys8pap2 3197 u135 htest5 extensa k72j 14x14 ltd111exca 42w2444 linksyskpap2 8400 250g1 lp141wx1 f5gl 5755 says компютърна server x51 nvidiaageforcesfxm5600 satelitelpros4200tseries v6v