PHP - Form Handling (Rukovanje obrazcima)


Stvaranje jednostavnog obrazca za kontakt

U ovoj lekciji stvorićemo jednostavan obrazac za kontakt HMTL-a koji omogućava korisnicima da unesu svoj komentar i povratne informacije, a zatim ih prikažu pretraživaču pomoću PHP-a. Otvorite svoj omiljeni uređivač koda i kreirajte novu PHP datoteku. Sada upišite sljedeći kod i spremite ovu datoteku kao "contact-form.php" u korijenski direktorij vašeg projekta.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Kontakt forma</title>
</head>
<body>
    <h2>Kontaktirajte nas</h2>
    <p>Molimo ispunite ovaj obrazac i pošaljite nam.</p>
    <form action="process-form.php" method="post">
        <p>
            <label for="inputName">Ime:<sup>*</sup></label>
            <input type="text" name="name" id="inputName">
        </p>
        <p>
            <label for="inputEmail">Email:<sup>*</sup></label>
            <input type="text" name="email" id="inputEmail">
        </p>
        <p>
            <label for="inputSubject">Upit u vezi sa..?:</label>
            <input type="text" name="subject" id="inputSubject">
        </p>
        <p>
            <label for="inputComment">Poruka:<sup>*</sup></label>
            <textarea name="message" id="inputComment" rows="5" cols="30"></textarea>
        </p>
        <input type="submit" value="Pošalji">
        <input type="reset" value="Poništi">
    </form>
</body>
</html>

Objašnjenje koda

Primijetite da postoje dva atributa unutar uvodne oznake <form>:

  • Atribut akcije (action) upućuje na PHP datoteku "process-form.php" koja prima podatke unesene u obrazac kada ih korisnik pošalje pritiskom na dugme za slanje.
  • Atribut metode (method) govori pretraživaču da podatke obrazca pošalje putem POST metode.

Ostali elementi unutar obrazca su osnovne kontrole obrazca za primanje korisničkih unosa. Da biste saznali više o elementima HTML obrazca, pogledajte lekciju za HTML forme.



Hvatanje podataka o obrazcu pomoću PHP-a

Da biste pristupili vrijednosti određenog polja obrazca, možete koristiti sljedeće superglobalne varijable. Te su varijable dostupne u svim opsezima kroz skriptu.

Superglobal Opis
$_GET Sadrži popis svih imena polja i vrijednosti koje obrazac šalje metodom get (tj. putem URL parametara).
$_POST Sadrži popis svih imena polja i vrijednosti koje obrazac šalje metodom post (podaci neće biti vidljivi u URL-u).
$_REQUEST Sadrži vrijednosti varijabli $_GET i $_POST, kao i vrijednosti superglobalne varijable $_COOKIE.

Kada korisnik pošalje gornji obrazac za kontakt klikom na dugme za slanje, podaci obrazca šalju se u datoteku "process-form.php" na serveru na obradu. Jednostavno bilježi informacije koje je korisnik dostavio i prikazuje ih pretraživaču. PHP kod datoteke "process-form.php" izgledaće otprilike ovako:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Kontakt forma</title>
</head>
<body>
    <h1>Hvala vam!</h1>
    <p>Evo podataka koje ste dostavili:</p>
    <ol>
        <li><em>Ime:</em> <?php echo $_POST["name"]?></li>
        <li><em>Email:</em> <?php echo $_POST["email"]?></li>
        <li><em>Upit u vezi sa..?:</em> <?php echo $_POST["subject"]?></li>
        <li><em>Poruka:</em> <?php echo $_POST["message"]?></li>
    </ol>
</body>
</html>

Gore navedeni PHP kod je prilično jednostavan. Budući da se podaci obrazca šalju metodom post, možete dohvatiti vrijednost određenog polja obrazca tako što ćete njegovo ime predati $_POST superglobalnom nizu i svaku vrijednost polja prikazuje pomoću izraza echo(). U stvarnom svijetu ne možete vjerovati korisničkim unosima. Morate primijeniti neku vrstu provjere valjanosti da biste filtrirali korisničke unose prije nego što ih upotrijebite. U sljedećoj ćete lekciji naučiti kako dezinfikovati i provjeriti valjanost podataka ovog kontakt obrazca i poslati ih e-poštom koristeći PHP.