Ce langage représenté par un éléphant bleu est actuellement l'un des langages de programmation web les plus évolués. Le maitriser vous facilitra la vie et vous découvrirez en lui multiples applications pour votre site, de quoi le rendre vivant, dynamique et surtout simple de mise à jour dans un premier temps. Des variables aux pseudo-frames en passant par l'utilisation de formulaires, voici comment le découvrir...
Nous verrons ici plus précisemment la version 4 de PHP.
Utiliser les données d'un formulaire
Dans les cours HTML, nous avons appris à coder un formulaire. Cela n'avait pas beaucoup d'utilité dans la mesure où on ne pouvait pas les utiliser.
Voici le code HTML du formulaire que nous prendrons comme référence durant ce chapitre :
<form method="post" action="index.php">
<input type="text" name="Nom">
<input type="text" name="Prenom">
<input type="submit" value="Valider">
</form>
Si on valide ce formulaire, il se dirigera donc vers la page
index.php en trimbalant les valeurs des champs
Nom et
Prenom.
Pour récupérer les valeurs envoyées, on utilisera la variable d'environnement $_POST[nom_champs].
Voyons donc le contenu du fichier
index.php en détails :
Vérifier que tous les champs sont remplis :
Pour cela, on vérifiera tout simplement que aucun des champs n'est égal à une chaîne vide.
Exemple :
<?php
if($_POST[Nom] != "" && $_POST[Prenom] != "") {
echo "On peut envoyer le formulaire...";
} else{
echo "Attention, au moins un des champs n'a pas été remplit !";
}
?>
Envoyer un formulaire par mail :
Attention, pour cette étape, vous devez obligatoirement avoir accés à la fonction
mail() de PHP ! A ma connaissance, aucun hébergeur gratuit ne la propose.
Exemple :
<?php
if($_POST[Nom] != "" && $_POST[Prenom] != "") {
$sujet = "Mail à partir du site";
$redirection = "merci.php";
$body = "";
foreach ($HTTP_POST_VARS as $nom => $valeur)
{
$body = $body . "$nom = $valeur\n";
}
mail("mail@destinataire.net", $sujet, $body, "From:
mail@expediteur.net");
header("Location: $redirection");
} else{
echo "<script language=\"JavaScript\"> alert(\"Vous devez
obligatoirement remplir tous les champs avant de valider !\";
</script>";
}
?>
Voici un script qui devient bien compliqué :p !
Etudions-le.
Le plan général de ce script est la vérification des deux champs. Sinon, une autre action est exécutée.
Si les champs sont OK :
Ce script parcours tout d'abord la variable d'environnement
$HTTP_POST_VARS qui renvoi les couples champs-valeurs sous forme de tableau. Comme c'est un tableau, c'est donc
foreach() qui est utilisé pour affecter au final à la variable
$body les noms de tous les champs avec leur valeur associé par égal (
=) interposé.
Ensuite, c'est la fameuse fonction
mail() qui est employée en sachant qu'elle prend dans l'ordre comme arguments : l'e-mail du destinataire (vous ?), l'objet du mail, le corps du mail et enfin l'expéditeur de l'e-mail (hé oui, vous mettez qui vous voulez !).
$sujet est défini au début et
$body contient donc tout le contenu du formulaire.
Pour la fonction
header(), elle servira à rediriger (associée avec
Location:). Un fois le mail envoyé, le visiteur est donc redirigé vers la page
merci.php.
Si les champs sont pas correctement remplis :
Ici, on utilise JavaScript ! On lui demande juste d'afficher un message alert et l'utilisateur reste sur la page du formulaire.
Pour visualiser l'aspect du message,
cliquez ici.
Remarque :
Pour envoyer un mail au format HTML, ajoutez Content-Type: text/html; charset=us-ascii au From:.
Pour finir en beauté, voyons enfin l'une des utilisation la plus courante et utile de PHP, les pseudo-frames.