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

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

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

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

















42w9982 9000 29gl50083 hpkdv5 fujytsu m50 l500 ltn156ar21 l12s4k01 dd0zrtad000 jaknzaazahranva6totoiystroistvo dmimenutacv to6ibaasateliteuprot4200 port kfrs compagmpresarioh1255 x121e hp8510p sl7el ddrc400 m5010 6720 heatsink pi3525 acerlaspireione 526 731 palmrest er710 06024 dv2000 panti nvidiatgeforcetfxe nvidiavgeforcetfxe nvidiasgeforceefxc i3 ohladitel downloadudriver dd0blilc020 v5505 sateliteepro delluinspironr1545 kingston web8site m115 ap0gm000a001 s400c web3site hinges ddrli deal sa023216000 bcm943228hm z500 bios 1521 3 gsm x200bkeypad 76g090410 icm50la3581p b156xw02 945pl dd0hk1c030 cbbxl016myhjdd c855 pa-1750-09 iconia dv7 usb sf450 650 ddri400 5536 linksysspap2mvoip dv6000 turionl64 19v19 сваляне драйвер kfrbg108a ramkspametp2 8570w f3ka msi compagspresarioa1255 f 5755 41w1 sve14a2m1ep fa03v004x00 hp0ram fbfm502 5650 4322 cpu 1422 turion464 662 x2009keypad e6510 ddra400 linksysipap2avoip 316677400001-rod pk1301s0150 turion Втора употреба ddy14alc020 154 598677 hpldv5 ddru400 07300014504 lenovio bcm943228 hprdv5 playstation1111111111111 ultrabaymslim 5537 sxga ramiopametsu ddrw400 dc02000jv00 ytjj z460 5741g webosite panda lp154 jak edno0dve lp156wh1 13r1014 x200vkeyboard 7m1m x52 t41 1024mbeddrd400mhztrrc0am 577061 max17015 turiona64 976 pk070006v10 ul50v pk070009l00 ms1682 625 canyon x360 mtestu 5770 x54h kolonki 2713 s400 x200e ednoodve asusk550j d430 ddor36lc050 grape32 9410 z61t realtek pcg7113l g600 isl6256 v5545 w15a 3258 l355 nx9110 55610 remont x200bkeyboard 5735 b141pw01 edge linksysepap2 g6000 41w1338 ltd133 asrok sateliterpror42002series 940 pca72013 p7230 compag hera k75 nvidia8400 rt3090bc4 x200skeyboard o4y2659 m70v 2653 42to153 kav60 pk070009 zg5 x2007keypad button x100 ednobdve nvidiangeforce1fx5 128 avast acer ltn160at01 2659 dc02001pr00 841n 4559nr39l02 x551ma tm86 delllinspiron41545 t430 nvidia geforce fx nvidiaageforcerfxu5600 turion064 8637 edno3dve евтин сайт turionr64 dellisiri ddrz400 e5700 ns30e nuc touchpad ultrabay slim as023170376 2600k ltn156at20 39t3679 s3 57 satelitempros4200hseries vpceh t6jy7y cd 2548 зарядно Тошиба u52f e198444 to6ibasatelitepro4200 jaksza hp0dv5 400w bcm943 nvidiavgeforcetfxe5600 a1278 210w ab7005mx r400 nvidia0geforcetfxegoc5600 delliinspirons1545 web site Втора hprram svt nvidiapgeforcetfxe 666 a dvd m51vr 351p7120 it8512 soundblali hard 6017b crucial hp630 1070 6820 compagupresarior1255 ltn133at01 pasta t7200 g560e fdd 6837 l30 claa154wb05a 98200 x75 256 39t7479 g575 bateria ltn133at03 550 pro ddat8blc106 x70 pj105 keyboard b50 4ur18650s 1080 x2000keypad