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

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

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

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

















g530 corsair downloadpdriver ad7005 max17015a nc6320 3537 ssd b156xw to6ibaesateliteuprot4200 ptestu wd v080925bs1 dv9000 40gb ddrl400 5635 nf61s sxga wtesti compag presario 1255 pa2548 displei 46470 tsst hyundai 2653 webssite c55 l50 xbox компютърна помощ downloaddriver mishka dc020000y00 atheros edno3dve 121 6920 svcsaser rt9018a 19v19 linksysgpap2 um08a41 3r305 p6200 hpbdv5 575 ddrk400 b116xwh1 nvidiavgeforcetfxegoc5600 61p eee 5553g 240w eeepc l355 presario lga775 linksyspap2voip ltn156ar21 577065 kabel онлайн cr620 momentus Втора употреба jaklzanzahranva6totouyst mini0 bateriq karta k50c d820 s3 21313 portreplicator 608m0 ntesta g6 nvidiangeforce1fx5 mitac 350400 7300gt 8220 продава sodimm 6715 hpwram ex720 toshiba nvidiaegeforcebfxt ns30e dv6000 bcm943228hm hddiide cp184510 x80l ddro400 m51 ptests nb100 vostro lp154wa01 ram00pametit batbl50l6 siemens 2563 a1418702 pata 256 f3ka 5650 s7110 xps v570 kutia d530 ednovdve nvidiasgeforceufxi linksysipap2avoip 7430017 d800 v3205 dd0hk1c030 webvsite nc600 17 14g140305011 hpvdv5 c700 7400 ms1672 seagate 5742 to6ibaasateliteuprot4200 sl7ep ram pamet jak za zahranva6toto ystroistvo dv2699 hp4540s 21076 registraciq compagapresario ao756 2930z 1024mbeddrd400mhztram ekran ar5bxb63 fa03v004x00 400w 2400 сваляне f5 linksysspap2tvoip edno9dve lp154wxr4 5541g x200skeyboard 7164 samsung u135 rampamet hporam turbo sgr271 n5110 bcm94322h lcd laisna nvidia8400 90200854 изработка на сайтове 6720s 5530 linksysypap2svoip satelite pro 4200 series workstation 4100 linksysdpap2vvoip ddrr400 6930p a0904a3 lan 4510s compagapresariou1255 webksite am2 adp-90sb bb 1024mb0ddrb400mhz g505 ltn156at37 r100 2530 b141ew05 edno5dve athlon fgs bcm4322 tbd403nr prodajbi k55v 1024mb ddr 400mhz ram b156hw01 g75 d610 jymy modem delleinspironi1545 ultrabayeslim 1 ltn101nt02 k4 hp620 x200bkeypad r61e notebook 6280 s400 i915pm 1720 sampo x200bkeyboard Инсталация на Уиндоус m912 6720 b960 5738 p200 1681 x2007keyboard as07a31 ddrn400 dtest0 ltn140w k55vd linksys6pap2 sm30hs xinya 5v linksysepap2mvoip x200akeyboard lp154wx4 lp156wh2 jetdirect 1555 x200t ltn154p2 mini110 x200tkeyboard hpuram as0232 250g1 t7500 662 compagepresariou1255 hannspree speakers t61p v5000 b133xw01 1024mbaddrb400mhzaram sierra 754 hp3dv5 acr ath delllinspiron41545 board 502l fs0amiloppa max17015 pro72 Изработка на сайт pc100 nbx0000us00 fbut8062011 cq62 ltn156at20 7n2l dc02001uw00 2.5 hdd ide 42v9647 6710 download driver e520 110 linksyxs x50gl linksysypap2dvoip nvidiasgeforceufxigos5600 pavilion 1000he m721 ultrabayaslim edno1dve turion464 dellrinspiront1545 delluinspironr1545 compagbpresarioc1255 g555