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

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

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

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

















m5010 linksyxs 1745 cq567 ups сервиз компютри надежда aepe1e00010 web4 hp1dv5 ddrn400 x200ikeyboard acer aspire one 532h-2dd d020010l atheros 6039b0019701 hpudv5 intelmc02 x200tkeyboard pa2510 tj65 v131 vostro cosmo tbd403nr pb9nc6b acerlaspireione 3525 intel switch ar928 qiw69 b156xw04 Зарядно dell r400 k0107 webpsite z510 x541 itestu m51 ptest0 ednokdve turionb64 x32 bcm943228hm 5755 sgr271 u52f hp dv5 dellsinspironi1545 x553ma mc8775 ltn141xa x51r 2930 nvidiaigeforceifxs5600 ms1682 m721 устройство hpsdv5 a544 410 dd0zl1lc301 p9600 08n013 g565 processor dv2500 ia6609 g560e 2310 claa154wb05a ultrabaytslim b96sq ss Зарядно Леново dc0200jv00 250 Изработка на малък фирмен сайт as0232 lampi x551ma 2570 ltn154bt hpiram 6070b021 sl73y 13r1014 test x56t 1333 nw9440 dellisiri t1350 1024mb0 7735 adp-90sb bb benq g46051 2930z 608m65m16320013 nbx0000us00 edno5dve x200n nvidiaageforcesfxm sateliteppro u305 a9rp 92 svs1311p9eb q600 delliinspirone1545 mishka 896 x200keypad 575 ddrt400 wkc35 07300014504 ddr t5600 41w1121 notebook c700 21076 nvidiageforcefx hperam at0fo0010i0 x52 as07b51 3655 2727 1520 pew91 n15413 h5513b05hd nintendo v3000 lp154w01 dc101228 er710 lkfu001k 6715s а31 hpvram e571 amiga 2520m 42v9647 lp mitac 735 4712 dc02000lr00 q10 nvidiavgeforcetfxe5600 2.5 hdd ide mpga478 28dw1wlfx04 kotl 11p8348 downloadddriver ddr1400 t6600 u31 940m толстой 731 nx9110 seagate vt6000 satellite 5750 webesite sve14ag15m t9600 calbe 316677400001-rod mtc e6500 ar5bhb92 claa141wb05a nb200 4820 1024mb da0rt21v4c1 s1g4 356 RAM r36lc050 e4300 turbo pj044 claa102na0acw web3site tuner nlync pc2700 14 4965ag zd8000 ltd133ewdd linksysspap2mvoip ux303 сваляне 504j518011 l550 jakrza 154 k000046470 pci 08g20 ramki ddor65lc030 np300e5z b156 lp141wp2 duron ltn121at02 cable 4322 6710b x200lkeypad laptopi rampapametsa x54hr 1024mbtddru400mhzeram e71 ednoudve x2009keypad king teight compagepresariom1255 turion064 d610 h81 dc020000s00 1721 ar5bhb95 pc9b6004mwfbnc 17015 momentus to6ibaesatelitempros4200 ltestu r60 to6ibaesateliteuprot4200 pabas215 ferrari t9800 np300e x2009 nx6125 amd monitor l305 n6000 4559nr39l02 hp4ram x200m ut5 obiavi sx656 workstation e6510 b560 pcg kalviatura vayo z61t compagapresariot1255 x2007 16100 Втора iconi545 rt3090bc4 8020d emjvcxp51273 lp156whb kb3930 linksysrpap2 invertor bcm4322 at8b компютри обеля 1024mbddr400mhzram lq164m1ld4c ednoadve nvidia0geforcetfxe5600 linksysepap2evoip v5 w500 70906 inspiron cbbxl016myhjdd 76g090410 nvidiaegeforcebfxt5600 s10 5610 x501a satelitebpro 1545