Hlavná stránka · Diskusné Fórum · Pracovné príležitosti · Zoznam

 Main Menu
o Hlavná stránka
o Zoznam tém
o Zoznam
o Odporučte nás
o Užívatelia
o Vaše konto
o Pridaj článok
o Štatistiky
o Top 10

 Reklama


 Developer Zone's
o Internet
o Tools
o Linux
o CGI Zone
o ASP Zone
o ASP.net
o PHP Zone
o CSS Zone
o JavaScript
o MySQL
o WAP / WML
o WML / WMLScript
o XML / XHTML
o Tipy a triky
o Best of web
o WebServers
o WebDesign
o Grafika

 Servis
o Vyhľadávanie
o Fórum
o Workoffice
o Zoznam článkov
o Reklama
o Pridaj článok
o Pridaj novinku

Napíšte nám
Homepage Do favoritov

 LinkExpres
Interval.cz · Pc.sk
Builder.cz · Mobilmania
PCSvet.cz · Asp.cz
Webdnes · Živě.sk
Zoznam.sk · Atlas.sk
Inzine.sk · PHP.sk
Agent.sk · Lupa.cz
Code.box.sk · Root.cz
Pixel32 · Grafika.cz

 forum.developer.sk
o Fórum ::
o Markup languages
o Scriptové jazyky
o CGI
o PHP/MySQL
o Perl
o Grafika
o Webservery
o HTML Editory
o Browsery
o Bookmarx
o ASP
o Vytvor tému ::

 Pracovné príležitosti
o Ponúkate prácu?
o Hľadáte prácu?

 Autori developer.sk
o Martin Nemeček
o Sväťo Straka
o Jany Masaryk
o Jozef Murín

 
PHP [ 16. August 2000] - Andrej_Chu
Spracovávanie dát z formulárov (PHP - časť 6)
Takže som sľúbil, že sa dnes budeme venovať nejakej praktickej záležitosti. Rozhodol som sa pre prípad, kedy je PHP veľmi často používané, a to spracovávanie dát z formulárov.



Pri formulároch v HTML dokumentoch poznáme dva typy odosielania dát - POST a GET. Metóda GET pripojí dáta za názov skriptu, ktorý ich spracováva. To sa uskutoční tak, že za názov skriptu sa vloží otáznik, meno premennej a jej hodnota. Ukážka:

 spracuj.php?cislo=5 

Takáta metóda nie je príliš vhodná kvôli tomu, že každý, kto má prístup k dátam vášho serveru, vidí, ktoré stránky si prezeráte a s nimi aj parametre metódy GET. V prípade, že sú v nich nejaké dôležité premenné, ako napríklad heslá, mohlo by to mať nežiaduce účinky. preto je preferovanejšou metódou POST. V tomto prípade je absolútne bezpečné prenášať akékoľvek dáta, pretože tieto nie sú nijak viditeľné. Ovšem, niekedy sa môžete dostať do situácie, že budete musieť použiť aj metódu GET, vtedy si však musíte dávať pozor, ako ju implementujete. Najlepšie je použiť nejaké kódovanie.

Aký typ metódy sa má použiť zadáte browseru vložením parametru METHOD do tagu FORM a parametrom ACTION zasa určíte skript, ktorý má dáta spracovať:

<FORM ACTION="spracuj.php" METHOD=POST>

Ak chceme odovzdávať hodnoty skriptu, musíme ich pomenuvávať v celom formulári. Ukážeme si jednoduchý typ formuláru, ktorý obsahuje štyri položky - meno, priezvisko, vek a e-mail:

<FORM ACTION="spracuj.php" METHOD=POST>
Meno: <INPUT TYPE=TEXT NAME="meno" SIZE=15 MAXLENGTH=25><BR>
Priezvisko: <INPUT TYPE=TEXT NAME="priezvisko" SIZE=15 MAXLENGTH=25><BR>
Vek: <INPUT TYPE=TEXT NAME="vek" SIZE=2 MAXLENGTH=3><BR>
E-mail: <INPUT TYPE=TEXT NAME="email" SIZE=15 MAXLENGTH=30><BR>
<INPUT TYPE=SUBMIT VALUE="Odošli">
</FORM>

Vyplnením formuláru a kliknutím na tlačítko "Odošli" odošleme dáta skriptu spracuj.php. Tento skript už s nimi urobí, čo uzná za vhodné, resp. čo mu programátor implementoval.

PHP skripty nerozlišujú rozdiely medzi dátami zaslanými metódou GET a metódou POST. Všetky odoslané premenné sú aktivované automaticky a prístupné okamžite vášmu skriptu. Meno každej premennej získate pridaním znaku $ pred meno, ktoré bolo pre položku určené vo formulári. To znamená, že hodnota položky "priezvisko" z formulára bude uložená v premennej $priezvisko. Získané údaje môžeme využiť podľa potreby, napríklad ich vypísať:

 <?php // skript spracuj.php
echo "$meno $priezvisko má $vek rokov. E-mail je $email."
?> 

Ďalšou možnosťou je zaslať údaje na e-mail. Na to nám poslúži funkcia mail(). Má štyri parametre, pričom posledný je nepovinný. Prvý parameter je adresát, druhý predmet a tretí samotné telo e-mailu. Ak chcete, môžete využiť nepovinný štvrtý parameter, kde je možné špecifikovať prídavné parametre. Nám stačí využiť zatiaľ prvé tri parametre, ak chcete aj ten štvrtý, odporúčam pozrieť si manuál:

 <?php // skript spracuj.php
mail("meno@provider.sk","Údaje z formulára","$meno $priezvisko má $vek rokov. E-mail je $email.");
?> 

Čo však prípade, že chceme z formuláru odoslať údaje typu SELECT, kde ich môže byť označených viac? Vtedy musíme využiť polia. Formulár môže vyzerať napr. takto:

 <FORM ACTION="spracuj.php" METHOD=POST>
<SELECT NAME="zamestnanie[]" MULTIPLE SIZE=3> 
<OPTION VALUE="programátor" NAME="zamestnanie[]">programátor 
<OPTION VALUE="grafik" NAME="zamestnanie[]">grafik 
<OPTION VALUE="dizajnér" NAME="zamestnanie[]">dizajnér 
<OPTION VALUE="webmaster" NAME="zamestnanie[]">webmaster 
<OPTION VALUE="manažér" NAME="zamestnanie[]">manažér 
<OPTION VALUE="riaditeľ" NAME="zamestnanie[]">riaditeľ 
<OPTION VALUE="asistent" NAME="zamestnanie[]">asistent 
</SELECT><BR>
<INPUT TYPE=SUBMIT VALUE="Odošli"> 
</FORM> 

V skripte spracuj.php budeme mať pole $zamestnanie, ktoré bude mať toľko prvkov, koľko sme v menu označili, pričom v každom prvku bude uložená jedna položka. Položky sú indexované od 0:

 <?php 
for ($i=0;$i<count($zamestnanie);$i++) //vypiseme obsah pola zamestnanie { 
echo $zamestnanie[$i]."<BR>n"; 
} 
?> 

Nabudúce si ukážeme ako ukladať dáta do súborov.

 
 Príslušné odkazy k téme
Viac o téme: PHP | Iné články od: Admin | Pošli komentár | Stránka vhodná na tlač width=15 height=11  Pošli tento článok priateľovi, známemu width=15 height=11


Najčítanejšie články PHP:
Nakonfigurujte si Windows na prácu s PHP

Ďalšie články v rubrike PHP:

 

"Spracovávanie dát z formulárov (PHP - časť 6)" | Login / vytvor konto | 0 Komentárov
Prah
Za obsah komentárov je zodpovedný užívateľ, nie prevádzkovateľ týchto stránok.



Autorské práva:   ©1999 - 2001 Developer Zone [developer@developer.sk]

Všetky články sú vlastníctvom autorov Developer Zone. Všetky práva vyhradené. Stránky Developer.sk sú vytvorené pomocou PHP-Nuke.
Odkazy na nové články je možné preberať pomocou:Backend.php.