En aquest tema, aprendrem com gestionar les dades enviades a través de formularis HTML utilitzant PHP. Els formularis són una part essencial de moltes aplicacions web, ja que permeten als usuaris enviar informació al servidor.

Conceptes Clau

  1. Formularis HTML: Estructura bàsica d'un formulari HTML.
  2. Mètodes d'Enviament: GET i POST.
  3. Recuperació de Dades: Com accedir a les dades enviades.
  4. Validació Bàsica: Com validar les dades del formulari.

Formularis HTML

Un formulari HTML bàsic pot semblar així:

<form action="process_form.php" method="post">
    <label for="name">Nom:</label>
    <input type="text" id="name" name="name">
    <input type="submit" value="Enviar">
</form>

Explicació del Codi

  • <form>: Defineix el formulari.
    • action: Especifica la pàgina a la qual s'enviarà el formulari.
    • method: Especifica el mètode d'enviament (GET o POST).
  • <label>: Etiqueta per al camp de text.
  • <input>: Camp de text per a l'entrada de l'usuari.
    • type="text": Defineix un camp de text.
    • id i name: Identificadors del camp.
  • <input type="submit">: Botó per enviar el formulari.

Mètodes d'Enviament

GET

  • Les dades s'envien com a part de l'URL.
  • Exemple d'URL: process_form.php?name=John
  • Les dades són visibles a l'URL.

POST

  • Les dades s'envien en el cos de la sol·licitud HTTP.
  • Les dades no són visibles a l'URL.
  • Més segur per enviar informació sensible.

Recuperació de Dades

Utilitzant el Mètode GET

if ($_SERVER["REQUEST_METHOD"] == "GET") {
    $name = $_GET['name'];
    echo "Nom: " . htmlspecialchars($name);
}

Utilitzant el Mètode POST

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $name = $_POST['name'];
    echo "Nom: " . htmlspecialchars($name);
}

Explicació del Codi

  • $_GET i $_POST: Arrays superglobals que contenen les dades enviades pel formulari.
  • $_SERVER["REQUEST_METHOD"]: Conté el mètode d'enviament utilitzat (GET o POST).
  • htmlspecialchars: Funció que converteix caràcters especials en entitats HTML per evitar atacs XSS.

Validació Bàsica

És important validar les dades del formulari per assegurar-se que són correctes i segures.

Exemple de Validació

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    if (empty($_POST['name'])) {
        echo "El camp de nom és obligatori.";
    } else {
        $name = htmlspecialchars($_POST['name']);
        echo "Nom: " . $name;
    }
}

Explicació del Codi

  • empty: Comprova si una variable està buida.
  • htmlspecialchars: Converteix caràcters especials en entitats HTML.

Exercicis Pràctics

Exercici 1: Formulari de Contacte

Crea un formulari de contacte amb els següents camps:

  • Nom
  • Correu electrònic
  • Missatge

Valida que tots els camps siguin obligatoris i que el correu electrònic tingui un format vàlid.

Solució

<form action="contact_form.php" method="post">
    <label for="name">Nom:</label>
    <input type="text" id="name" name="name"><br>
    <label for="email">Correu electrònic:</label>
    <input type="email" id="email" name="email"><br>
    <label for="message">Missatge:</label>
    <textarea id="message" name="message"></textarea><br>
    <input type="submit" value="Enviar">
</form>
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $name = htmlspecialchars($_POST['name']);
    $email = htmlspecialchars($_POST['email']);
    $message = htmlspecialchars($_POST['message']);

    if (empty($name) || empty($email) || empty($message)) {
        echo "Tots els camps són obligatoris.";
    } elseif (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
        echo "El correu electrònic no és vàlid.";
    } else {
        echo "Nom: " . $name . "<br>";
        echo "Correu electrònic: " . $email . "<br>";
        echo "Missatge: " . $message;
    }
}

Explicació del Codi

  • filter_var: Funció per validar el format del correu electrònic.

Resum

En aquesta secció, hem après com gestionar les dades de formulari en PHP. Hem vist com crear formularis HTML, com enviar dades utilitzant els mètodes GET i POST, com recuperar aquestes dades en PHP i com validar-les per assegurar-nos que són correctes i segures. Aquestes habilitats són fonamentals per a qualsevol desenvolupador web que treballi amb PHP.

Curs de Programació PHP

Mòdul 1: Introducció a PHP

Mòdul 2: Estructures de Control

Mòdul 3: Funcions

Mòdul 4: Arrays

Mòdul 5: Treballant amb Formularis

Mòdul 6: Treballant amb Fitxers

Mòdul 7: Programació Orientada a Objectes (OOP)

Mòdul 8: Treballant amb Bases de Dades

Mòdul 9: Tècniques Avançades de PHP

Mòdul 10: Frameworks PHP i Millors Pràctiques

Mòdul 11: Projecte: Construint una Aplicació Web

© Copyright 2024. Tots els drets reservats