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

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

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

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

















pcmc 530 evo dc02000iw00 1564 6017b0071301 np300e 5v n150 ab7005 ssd deal fujytsu m115 zd8000 nvidiangeforce1fx5gou5600 celeron linksysypap2dvoip lga775 jaklzanzahranva6totouyst linksys pasta wd1600aajs sl7el 31042383 cav100h hppram v3515 6935 to6iba0satelitempros4200 sz900 mc8755 dc020010y00 ltn154at07 5610 pc2700s g500 mitac p/n 316677400001-r0d mitac 9436 invertor x200ukeyboard Втора 6935g 20798 сервиз компютри надежда downloadidriver ekran fsp150 256 dc02000y00 46470 am2a k000040600 f81d ltn121 x121e f700 евтин сайт f3ke as0231701d7841 a100 n200 x200skeypad новини iconi545 ltn141at12 ltn101nt02 3d acre ремонт g575 cq62 dc02000rh10 pro61s f7l pi2515 6910p jakiza 1333 cpu 44c4038 m760 nc6400 2515 hpjdv5 b570e m285 p50ij v6000 ddrn400 ddct3blc101 316677400001-rod msi k50 downloadsdriver v104702ak3 webvsite corsair 55610 ul50v e571 vgn claa102na0acw g555 avast linksyskpap2 db25 512mb bt156gw01 t1350 7027cl asus1001 displei kalviatura pap dv2000 n156bge hs082hb batbl50l6 ss edno1dve 510 m51s c670 501 c700 41w1483 s1 k53s co kolonki linksysppap2 400w 4965 5300 x100 ohladitel yivnms0016d11 4965agn 7n2l ultrabay v131 hp3ram mtest5 ultrabaybslim pj044 a544 ultrabaysslim nc600 nbt dv7 08g23fj1010q ttestn compagbpresarioc1255 viewsonixc k7610w 19v19 inspiron dms hera zapisvachka 5551g bash изработка на сайтове a1181 q10 icw50 amzi dc0200 x59 630 6730b hp5ram 5251 обеля ef dellainspiron tx2650eg dell0inspirons1545 7740 v573 ednondve tc4200 b570 u135dx 5630z 4730z turion464 ltn121at02 webpsite p407 bcm943228 hpsdv5 ips 5755 4182 410 h710 ultrabay0slim порнмо 5750 si1520 coolermaster v3505 94322 nvidiaegeforcebfxtgoe5600 h81 v5 8089 m721 x200ekeypad dv9000 linksysdpap2 hp1dv5 hpmdv5 250 ramrapametmi sateliteepro 9600 x2004 kutia ultrabayslim doduo delluinspironr1545 lp154 wairless n134 t6jy7y ramt hp5dv5 x200 keypad sve14a2m1ep lq164m1ld4c zif t1400 e6850 acerlaspireione сеь x200vkeypad t400s банишора nvidiatgeforcetfxe pk 8700 5610z nvidiaegeforcebfxt matrica 5315 asusk53s am07w000100 t135 edno9dve 8510 u200 lse0202c1990 3537 p9600 pro72q ruteri iocean it8512 n5040 asusx51r 1024mbeddrd400mhztrrc0am захранване ut5 продава m800 te11hc da0ne7mb hpedv5 lp141x14 fsp 6735s hinges broadcom as07a71 2548 450w 2100 ah544 foxddc7003csd315 5745 m6450g a80 t9 210w jak7za0zahranva6totoeystroistvo fbut8062011 hpvram k10n78 9500m 7740g power server webcsite 2986 1535 ednoadve