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

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

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

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

















92p6578 dellrinspiront1545 dellvinspironn1545 tc4400 pp35l a0904a3 turiont64 5930 55369 ar5b9 cq70 la1703 ruteri ssd hp510 as023170 nc10 hpcompoq pa3154u hplram er710 compag0presarios1255 v5545 amiga инсталация линукс ms1682 lp140wd2 compag presario 1255 process lp154w01 1201 envy x200 keyboard e6850 k72jk 546 8510 1024mb1ddrb400mhzaram y5 2c60ca x200skeyboard hpram nvidiageforcefxgo5600 litheon x360 r101 z560 soundblali bl50l6 iocean 3710 hp550 as07 np300e5z 5320 deel 372 5536g l300 r36 316677400001-rod 572 603 7551 42t0426 u52f 5740 viewsonic linksysdpap2 7a2g25mi 7027cl pamet to6ibaesatelitempros4200 kdb0705hb dimm lp140 t5e560 z61t hpudv5 wuxga 5570 mini display t41p hpuram v128862as2 x200bkeyboard mf lm230wf5 mk1246gsx station f700 xard 6039b0019701 hp8510p compagbpresarioc1255 f3u bcm943 download0driver g75 i915pm downloadsdriver u135 tuchpad g570 turionv64 dk1rc hs06thb 5568 v5505 workstation e4310 3258 downloadddriver ddrw400 g550 m762 735 svf1521b1ew r61 x2001keyboard b154ew01 webusite r61e g7000 jak0zaezahranva6totoeystroistvo ddr 590 ltestu x200vkeyboard op927c x2000keyboard 1558 s710 dc020000s00 pk070009l00 5551g 5741 linksysypap2svoip 5552g x70ac coolermaster 6410 webksite 2510p ddr4400 3r305 онлайн магазин satelitebprod4200mseries 231 hpjram jujitsu 486 6820s ultrabayrslim hpvdv5 сервиз компютри надежда 450 250 7740 nvidia8400 nvidiaegeforcebfxt wireless 1066 39t7208 downloadadriver 2100 ltn150xg lin n270 pk070de офис hp0ram pro72q a9rp 5820t webvsite t 42w7809 1555 pcg7113l lp156wf2 pata dc0200jv00 icw50 hp ednondve e5520 онлайн игри nvidiatgeforcetfxe5600 lp140wd lp156 650199 nvidiaageforcerfxu5600 sateliteuprot4200rseries i 7430017 capasi wifi delliinspiront1545 2659 r36lc050 linksys6pap2 amdturion 5749 acerlaspireione 731 t43 hpidv5 рутер efd x200akeyboard sve15 x550 nc6400 5732zg x551ma 6935g it8512 974 np300e 6730b foxdd0 jv50 ptt50g82 bcm94322hm8l 4501s uxga x2003keyboard 788 944 sx656 nvidiaageforcetfxe 4540s 3525 tbd485nr nc8000 ilko rfb 3311 охлаждане за лаптоп n156b3 xeon hpcompoq6735s turi1 nk8200 5733 x502 pk070009k0 nc2400 ram00pametit speakers e320 2455 ddrp400 d820 ednordve dell3537 hpbdv5 m9410 nvidiasgeforceofx pro61s ltn156at39 5742z wirreles nmi 932 608m65m16320013 pi3525 3278 udqfrzh13cf0 1024mbeddra400mhzmram сервиз b570e ab7005 edge z510 зарядно дел to6ibaesateliteuprot4200 2210 mtests deal sdram ae2220 4525 b140rw01 1855 cq40 ltn160at01 2550 x200vkeypad 5970g7 pc2700s edno9dve x200 ddr1 ultr m101nwt2 m55 l530