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

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

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

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

















fs amilo pa 2548 дъно to6ibaesatelitempros4200 linksysgpap2 asusk53s x56t pk070009k 982 g565 nvidiavgeforcetfxe s3 Зарядно dell 4950 633 x2001keypad dc020010y00 462 46470 132 nlink 418 5420 1024mbsddrp400mhz ultrabayislim 9300 ruteri downloaddriver hpdram 2.5 hdd ide pc2700s tally сваляне драйвер 39t0071 8400 ls 5737z 17 1024mbeddrd400mhztrrc0am laptquotomit hprram fujitsu 14x14 0232 dellainspironi1545 da0rt21v4c1 ptests t410 3820qm 2548 4690k lightscribe Почистване вируси q10 ms1682 42w7809 njgin1000 acerlaspire delleinspironi1545 2570p изработка x551 1535 hpuram fnchd1 ednodve 42x3827 t420s 2100 m1530 42w2444 ddr3 t520 онлайн магазин v3515 hp b141ew05 g585 ds8a4lh m55 jak7za 650 w476v 55369 t400 x53 Зарядно hp tmdml32bkx4ld lenovozx pc100 pca72013 u135 a900 ednovdve nc10 rfb 150 1a x52d сервзи компютри обеля g60 pk070018510 872 turion464 онлайн udqfzoom ddrl400 turionu64 pc2700 nc2400 e540 bt156gw01 as10d41 slot 42w2960 kolnonki 5553 5745g 116 ltn156 1005 x550 hp620 hp4540s rampapametsa linksyszpap2 ntesta celeron t7600 ednoedve cosmio b154ewo8 np275 g450 msi linksysipap2 5320 x200rkeypad h54 9410z ltn141xa linksysypap2 op927c sierra ltn141bt06 3470 xt70 t440 nvidiatgeforcetfxe mtel linksysepap2mvoip nvidiaigeforceifxs5600 630 08n013 dano p300 batbl50n 3525 cq62 rt8207 g750 5b95 ns30e fan 8560w 1310 ctests u510 t1350 edno0dve i fbat8062011 modem tbd489nr x200rkeyboard lq150u1lw22 dc02000f900 4501s 92p6661 hpudv5 pagpf1 pk070007u10 17015 ltd133 1333 hpdv5 m5010 735 1024mbeddrd400mhztrrc0gistersuche satn hyundai webcsite 5552g sateliteuprot4200rseries x551ma r101 r60e ddr5400 ap07w000i001 dc020007000 hp6ram 8510 satelitelpros4200tseries x52 li3710 dellinspiron1545 2230s satelitempros4200hseries linksysapap2 12v webdsite b133xw 650199 f81d 6720s as023216500 z510 5750 44c4038 5315 chip c30 dtesti 94360 974 3278 svcsaser 2853 1024mb ddr 400mhz ram dellisiri гугъл r500 lg nvidiaegeforcebfxt5600 it8512 2037sd ad7005 govariteli athlon sl510 komputar dc0200jv00 ssbs13 k50ij 42w3436 ddr2400 to6ibaesateliteuprot4200 4510 4600m vpceb4j1e powerbook 625 398 ltn156ar21 stesti vayo b116xwh1 zso50 yuj max17015 antivirus nc8000 to6iba satelite pro 4200 528 a1418702 obiavi web0site 2503 6715s nbt pbkyboccyz712f 1530 downloadadriver ada3800 5740 1670cds co 240w n156b3 hpadv5 hpkram m70v 1015bx baterija button pp35l registraciq 3230m i3 cav100h ramiopametsu b140ew01 am2 Изработка на сайт edno9dve 530 bcm94322 turion dd0tw3lc000 ar5b225 turiono64 xtest