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

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

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

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

















dv2000 v6v nuc u135dx t500 test dd0r36lc000 speechlads 6510b r56 webssite 484170 x2009keypad tx2650eg icm50la3581p p8400 linksysppap2 jak f3ke x2009 f700 5745g 678 processor 5741 hp550 4950 dell 5v linksysipap2 zif ltn116at01 a6400 sxga 1080 komputar emjvcxp51273 wireless b5400 dc02000lr00 1001ha g7 6935 17 68 hp8510p 3810 hd5850 linksysipap2avoip prestigio nmi ab7005mx cq567 wwan dellsinspironv1545 6837 nx6325 co 571g 1024mb1ddrb400mhzaram 7551 4559nr39l02 claa g7000 компютърна ednoidve webesite t40 x200n 528 zahranwaniq 9414 0232 k53 5553g 572g Зарядно dve ultr edp 2563 lp141wx3 5808080k004 320 v2045 d6000 compagspresariob1255 hddiide p750 amh2a v570 6052 e530 1505 linksysspap2 edno4dve hgc02000 e5400 d630 lp154 adp ddr3400 pc2700 e1 y500 clevo компютри надежда l10 c855 hppram emahref k0107 e6410 broadcom rampapametsa as023216000 linksysypap2 x200lkeypad 633 lap g565 c650d turiont64 lp156wh2 инсталация deel x200zkeyboard p205 Втора употреба 1024mbaddrl400mhzmram 14 x54c pca720 sve14 viewsonixc seasonic 2037sd ednondve antivirus 605764 l645d nc10 1735 hp630 Изработка на малък фирмен сайт mecddat8blc1061a jakkzaszahranva6totosystroistvo nvidia0geforceufxi windows 186 e71 g580 x71dl lp141x14 5770 pk070009k np300v5z 1024mb0ddrb400mhzaram hard m51v 1535 sve15 сервзи сваляне драйвер f3j panda hp6ram 44c9916 downloadudriver 4710s 13gn7bcap020 hsd101pfw2 max1540e hpodv5 g750 edno 6910 k75 x55d 45m2856 yivnms0016d11 webosite linksyspap2 nvidiaageforcesfxm5600 2548 2777 jaksza delllinspironi1545 delliinspirone1545 to6iba0satelitesproc4200 1155 7640 as023170 precision kfrbg108a caddy e204356 sony 3197 esprimo as0231703376 ul50vg 5610z компютри обеля j18 rs232 downloadmdriver linksyxs ultrabayoslim ht vr63 wwlan 8089 ram00pametmi cr620 hpkdv5 едно da0rt21v4c1 550 диагностика 9280 nx6125 сервзи компютри обеля ltn15amcript b116xw02 hannspree 92 wsxga ms1682 k53u a1181 2c60ca ux31e dv6700 to6iba0satelitempros4200 dc020000s00 jv50 l859 fsbamilo e5520 fs sis ar5bhb92 cs21 fnchd1 pci wuxga heatsink 735 da0hs1iv6e7 nc8440 788 ultrabaymslim pk070014500 podsvedka t61p downloadsdriver 577065 epd ram00pametit dv5000 784 dd0tw3lc000 kmex t3500 x2007keyboard y580 lp154wxr4 5710z linksys pap2 z60 478 k52dr гугъл er710 q600 звукова платка atest5 4310 d410 pc2700s lp154wp1 2.5 hdd ide 3470 x2009keyboard 5735 5630 zapisvachka rt3090bc4 videocard 39t0071 cq50 compagupresarior1255 b96fq dv6 maxtor 4520s sp2504c g530 2634 li1820