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
- Formularis HTML: Estructura bàsica d'un formulari HTML.
- Mètodes d'Enviament:
GET
iPOST
. - Recuperació de Dades: Com accedir a les dades enviades.
- 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
oPOST
).
<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
iname
: 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
oPOST
).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
- Què és PHP?
- Configuració de l'Entorn de Desenvolupament
- El teu Primer Script PHP
- Sintaxi i Variables de PHP
- Tipus de Dades en PHP
Mòdul 2: Estructures de Control
Mòdul 3: Funcions
- Definició i Crida de Funcions
- Paràmetres de Funció i Valors de Retorn
- Àmbit de Variables
- Funcions Anònimes i Closures
Mòdul 4: Arrays
Mòdul 5: Treballant amb Formularis
Mòdul 6: Treballant amb Fitxers
- Lectura i Escriptura de Fitxers
- Funcions de Gestió de Fitxers
- Permisos de Fitxers
- Funcions de Directori
Mòdul 7: Programació Orientada a Objectes (OOP)
- Introducció a OOP
- Classes i Objectes
- Propietats i Mètodes
- Herència
- Interfícies i Classes Abstractes
- Traits
Mòdul 8: Treballant amb Bases de Dades
- Introducció a les Bases de Dades
- Connexió a una Base de Dades MySQL
- Realització d'Operacions CRUD
- Ús de PDO per a la Interacció amb Bases de Dades
- Seguretat en Bases de Dades
Mòdul 9: Tècniques Avançades de PHP
- Gestió d'Errors i Excepcions
- Sessions i Cookies
- Expressions Regulars
- Treballant amb JSON i XML
- PHP i Serveis Web
Mòdul 10: Frameworks PHP i Millors Pràctiques
- Introducció als Frameworks PHP
- Començant amb Laravel
- Arquitectura MVC
- Millors Pràctiques en Desenvolupament PHP
- Proves i Depuració