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

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

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

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

















zahranwaniq ltn156at05 mpga478 t41 3076 ideapad n5010 jak za zahranva6toto ystroistvo b156xw02 hp620 5537 553 cr620 turionm64 turiont64 dano e131735 71314l x200lkeypad ramdipametor tx2650eg to6iba satelite pro 4200 91p7267 ltn133at03 xtest n150 42w9982 r500 x200nkeyboard delllinspiron41545 ltd133 484170 94322 b133xw gsm ednoedve vcetka webesite 1723 pk070009k0 nc10 t42p nb250 5741 np300e5x nvidiatgeforce2fx bcm943228hm k73s wairless speechlads ltn133at07 4950 uxga компютри обеля e6500 download0driver fsp 6710 08n013 r400 x2 bcm94322 ltn160at01 slot1 4510 thinkpad x550 n800 ultr playstation hperam 8930 hpedv5 hhd Втора употреба 3258 dc0200jv00 евтин сайт isa fz31 92p6578 hp 08g23us1011c r61i f3u 70009l00 lin b156xw04 delluinspironr1545 5738 ednondve q600 webrsite dv2699 ef ednotdve ath 6555b 44c4038 e2043 f5rl bash cr42s nvidiavgeforcetfxegoc5600 ar5bhb92 doking o4y2659 6stroistvo asrock fsbamilo ar5bh ltn15amcript a9550 d530 hpbram 231 f3j 2210 awm d270 a100 t9900 ar5bhb95 2550 1066 ltn156at37 f ut5 c700 downloadsdriver d2 sgr271 v5545 142200 pk070009k ltn101nt02 to6ibaesatelitempros4200 4965ag c850 bcm94322hx56t pk070018510 v2045 5420 asus pasti lp156whb nr21j 398 1001 g7000 s206 156 compagupresarior1255 l702x gt240 agp tm00751 k50ab k72j compag4pe4 d2301 ddro400 t5600 remont sl300 as07a71 mc8755 turbo bga1168 x200ekeypad as07aa31 lp165 n270 turion164 41w1338 rt9018a Почистване вируси диагностика l530 ap0hi000611 t5e560 продава a dv7 dc02000rh10 ohladitel sis302 91p8388 ab7005mx m800 b156x 6050a2170401 g710 ao53 webqsite f1d2wx26201g2 jaknzaazahranva6totoiystroistvo ltd121ewud 3g pa2510 732077 512mb 5320 video 7850 6930 l40 ltesty 4435 g71c00011221 lp156wh1 etest 57 stesti 42w7809 pavilion hpmram 4540s edno4dve Инсталация на Уиндоус 44c9916 4710 mitac p/n 316677400001-r0d hpvdv5 Изработка на сайт ltestu 650 sl510 42 571g igor p7131 90w bm x200b linksysppap2rvoip emac hpddv5 45n2414 matrici satelite pro 4200 series linksystpap2 jak7za ockf y530 ekran satelitepproe4200 ремонт x80l 8510 lightbook 7540 6038b0003501 x200 keypad linksysdpap2 phenom dc020007000 mikrofon c650 ramstpametmi ferrari nmi 678 7m1m x2005keyboard wuxga x200tkeyboard cpu dellsinspirons1545 cq40 ltn141bt k50in videocard 732068 dv5000 ab7005hx karta 214 heatsink t7250 as07 pk quad 5335 k52j z50 сервзи 13r1014 xinya satelitesproi4200aseries pp35l xtb70 downloadbdriver 2.5 bateriq pro72q ddr3 1720 u52f e5540