Programujeme v jazyku PHP – Webové Aplikácie

Lukáš Ďurjan  /  24. 07. 2003, 00:00

5. diel Programovania v PHP / Táto lekcia bude pokračovaním tej minulej, v ktorej sme sa oboznámili s odosielaním e-mailov. Ak zalistujete v pamäti tak si určite spomeniete, o čo by malo v tejto lekcii ísť. Ak ste tipovali, že ide o vytvorenie e-mail brány, tiovali ste správne.

Budeme vytvárať aplikáciu, ktorá bude schopná posielať e-mail na akúkoľvek adresu. Neskôr ju zabezpečíme aj proti zneužitiu. Dominantný je v tejto, ako aj v minulej lekcii príkaz MAIL. Táto aplikácia už bude o niečo zložitejšia, takže by ste si mali pamätať niečo z minulých lekcií, ako sú napríklad premenné, podmienky atď.

Prvá – najjednoduchšia aplikácia bude tvorená samozrejme formulárom, či už s príponou *.php, alebo *.htm. Pre začiatočníkov, aby z toho nemali zbytočné problémy odporúčam, aby si vytvorili formulár s príponou *.htm, ale tí skúsenejší si môžu dovoliť udržať imidž, a môžu to urobiť aj ako *.php.

Formulár nebude vyzerať inak ako v minulých lekciách. Bude tvorený rovnakým kódom a bude obsahovať nasledujúce údaje(tiež riadok form action):

            Typ :: Názov

            Input :: od
            Input :: pre
            Input :: subject
            Textarea :: sprava
            Submit :: poslat

PHP skript na odoslanie elektronickej pošty, na Vami určenú adresu a Vami určený predmet bude teda vyzerať takto:

            <?
            $posli = Mail($pre, $subject, $sprava, $od);               //Tiež je potrebné dodržať poradie !!!
            if (!$posli) echo “Chyba v spojení !“;               //ak nastane chyba počas spojenia, upozorní nás hlásenie
            else echo “Správa úspešne odoslaná“;             //hlásenie, ak sa správu nepodarí poslať
            ?>

Tak ! Toto bola hrubá aplikácia. Skript je pomerne jednoduchý, ale našu službu by predsa mohol ktokoľvek zneužiť, resp. využiť v tom zmysle, žeodosielateľ nie je nikde registrovaný, a nedá sa preto zistiť, kto to je. Časté je odosielanie nehodných e-mailov.

Aby našu bránu nikto nezneužíval, obohatíme ju o JavaScript.

Svoj formulár teraz obohatíme o jeden checkbox, ktorý sa bude volať „check“. Do HTML skriptu teda pridáme tento skript(Užívatelia, ktorí nepracujú s jazykom JavaScript budú musieť kopírovať, alebo tí ochotnejší sa budú pokúšať zistiť):

<SCRIPT LANGUAGE="JavaScript">
function validate()
{
    if (document.all.check.checked == true)    
    {
            return true;
    }
    else
    {
            alert ('Musíte súhlasiť !');
            return false;
    }
}
</SCRIPT>

POZNÁMKA: Aj v jazyku JavaScript používame pri podmienkach, IF, dva znaky „=“.

POZOR: Do riadku form action musíme pridať ďalšie dva parametre, asíce OnSubmit = “return validate(this)“ a method = “post“, pričom tento riadok bude až pod skriptom „JavaSkriptu“.

Týmto sme zabezpečili, že ak tento checkbox nebude zaškrtnutý, JavaScript nás nepustí ďalej.

Keď chceme však túto vamoženosť zúžitkovať, musíme to spraviť tak, aby prijímateľ spolu s e-mailom dostal aj IP adresu odosielateľa.

Na odoslanie IP adresy odosielateľa je jednoduchý príkaz, asíce $REMOTE_ADDR. Ako sa používa v praxi uvidíte v nasledujúcom príklade.

Skript jazyka PHP bude teda nasledovný:

<?
$posli = Mail($pre, $subject, $sprava.“<br>“.“<br>“.“$REMOTE_ADDR“, $od); //Bodka, čiže + nám pridá istý text do správy
if (!$posli) echo “Chyba v spojení !“; //ak nastane chyba počas spojenia, upozorní nás hlásenie
else echo “Správa úspešne odoslaná“; //hlásenie, ak sa správu nepodarí poslať
?>

Ak chceme v PHP použiť funkciu HTML, ako napríklad <br>, čo je odriadkovanie textu, používame úvodzovky, tak ako je to použité v skripte, to znamená, že ak máme nejaký textový, alebo akýkoľvek reťazec, do ďalšieho riadku ho posunieme takto:

            <?
            Echo “Prvý riadok“.“<br>“;
            Echo “Druhý riadok“.“<br>“.“<br>“;
            Echo “Tretí (štvrtý riadok)“;
            ?>

Pre každý ďalší príkaz jazyka HTML používame bodku, ktorá reťazec zlúči, a úvodzovky, ktoré ohraničia jazyk HTML.

Myslím, že táto lekcia bola pre začiatočníka dosť zaťažujúca, a to hlavne kvôli použitiu JavaScriptu. V ďalších lekciách by JavaScript nemal byť obvyklý, takže Vám v tejto chvíli nemusí vŕtať hlavou JavaScript.

 

Otázky posielajte na jookie@programmer.net!

Neprehliadnite: