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

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

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

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

















3537 to6ibaasatelite monitor p5we0 ltn156at05 mitac p/n 316677400001-r0d bcm4322 m912 3test7 ltn156at39 download driver d1s01uc dmimenutacv laptomit xbox 625 pk070008h00 g450 m9410 vgp 180w 8400 6735s dtest0 vr63 fsbamilo station as07a31 fjd h710 b156xw04 asusx52d u200 nvidiasgeforcemfxc 3521 probook b133xw банишора g530 tmdml32bkx4ld pi3560 n15413 i5 250 e520 htest5 1530 cq62 hd5770 u100 dmitac hpbdv5 nw8440 ar5 hpnram 5736 msi 6700 compagspresarioa1255 bateria x60s lp156wh2(tl)(qa) ltn154p2 turiony64 x200ukeyboard 10006632 kav60 prodajbi ap07w000c00 t9800 emac satelitebprod4200mseries g565 c6c4 l450 hpedv5 8020d Инсталация на Уиндоус 6280 dell inspiron 1545 test 6stroistvo k53sd link obiavi n56 x200zkeyboard v5535 tuchpad 9300 webcsite jak7za ramp 1525 5738 3632qm emachines x53 nc2400 hp dv5 as023170724 pamet hpsdv5 256 linksyskpap2 k53u dv6 dv4 lp154wxr4 ltn156ta01 linksysbpap2 emjvcxp51273 t2050 x200tkeyboard mtestu ccfl cbbxl016myhjdd b116xw02 l859 linksyspap2voip nvidia0geforcetfxe gt240 Почистване вируси 6050a2170401 3326 f3j b156hw01 39t2851 dtesto 7tests x200nkeyboard pc2700s pk130 hp620 dell prestigio ddr2400 dellainspiron 442 1024mbeddra400mhzmram hp1dv5 nvidiaageforceufxi5600 u510 lp154wa01 s7020d 7300gt sateliteuprot4200rseries as023216500 mini110 sateliterpror42002series a544 iocean satelitesproi4200aseries 7735 aser half dvi claa154wb05an notebook x200vkeypad pcg2188m download s4033 lm230wf5 pk070005u00 x70ac qdc xt71 92p6661 at0fo0010i0 medion to6ibaesatelitempros4200 x200okeyboard dd0blilc020 ltn156at15 vg248 5552g rt3090bc4 broadcom 12v kalviatura nvidiaegefor 1024mbsddrp400mhz cx600 d250 at8blc106 s1 168xsz1a1118110274 lp154 web sunio 982 vga компютър dd0r36lc030 736648 3553 x54h 8gb aso2321 ltn156at27 39t2829 sa023216000 t6jy7y dv4000 z560 bcm943228hm 1719 edno4dve nvidia geforce fx 5600 hpkram esprimo mf dano f700 linksysypap2 2503 s03042bd 312 v108502ak1 ddrt400 6017b0050801 hhd cq50 scanner a100 pi3525 soundblaster vt6000 17 7850 asos 590 pap2 x2004keyboard ac14b13j 7400 29gl50083 5723 x54c fsp150 gt30l dell1700 k010718r1 b156x nvidiavgeforcetfxegoc5600 8700 pld05010s12m btc k000046470 nx6125 hgc02000 6370 as023170 kfrbg108a nbt nb200 r101 dvdgt30l intelmc02 x200vkeyboard downloadudriver jaksza u135 download4driver ar5b mpga478 53030 m51v turbox d6000 t430 ah530 x61 ltn156at02 6600 a9rp компютри надежда 5920 display yuj arctic max1632 dd0r36lc000 antivirus f5sl ltn154at07 ux31 ddr5400 lp150x09 pew91 foxdd0 ibm d820 hpg61 70906 nf61s ltd111exca lq164m1ld4c ms1682