|
Tweet | Envoyer cette page |
Cours PHP | Plan du site |
Se connecter
Plus que 26 jours pour gagner 3 livres !
Marre de la pub ? Devenez membre premium !
![]() | 21 décembre 2012 : la fin du monde ? |
![]() | "Il est déjà trop tard" : l'espèce humaine devrait s'éteindre ce siècle |
![]() | Démographie : la vraie vérité qui dérange |
![]() | Les abeilles, témoins du bon état de notre environnement, disparaissent massivement |
![]() | Un nouveau "continent" de déchets a été découvert dans l'océan Atlantique Nord ! |
![]() | Manger autant de viande est une aberration pour l'environnement et la santé |
![]() | Le pic pétrolier mondial : on doit s'y préparer dès maintenant ! |
![]() | Limiter l'augmentation de la température planétaire à 2 ºC n'est plus réalisable |
![]() | Le déclin de l'industrie nucléaire |
![]() | 7 milliards d'habitants sur Terre |
![]() | Pollution de l'air : plus de 2 millions de morts par an |
Marre de la pub ? Devenez membre premium !
Cartes et données mises à jour en "temps réel"Découvrez l'agenda du mois
> > Février 2012 < <
Marre de la pub ? Devenez membre premium !
www.notre-planete.info : environnement, développement durable et sciences de la Terre
L'un des intérêts majeurs de PHP est sa capacité à exploiter les données qui sont fournies par un internaute via les formulaires HTML bien connus.
Ces formulaires sont notamment utilisés pour s'identifier sur un site, répondre dans un forum de discussions, ajouter des articles dans un blog, faire un commentaire sur un article... Bref, à chaque fois que vous participez à l'enrichissement d'un site Internet, vous fournissez des informations via un formulaire. PHP récupère ensuite ces données pour les insérer dans une base de données, pour les exploiter, les afficher...
Un formulaire est constitué de champs et de contrôles : zones de texte, boutons radio, cases à cocher, listes déroulantes... Chacun de ces éléments se caractérise par un attribut "name" qui définira tout simplement le nom de la variable à récupérer en PHP avec la valeur rentrée par l'utilisateur.
Ainsi, rappelons qu'un formulaire HTML se définit avec les balises <form> et </form>. L'attribut "action" de cette balise permet de spécifier la page qui traitera les données fournies dans le formulaire par l'internaute ; l'attribut "method" la méthode de transmission (GET ou POST).
<form action="resultat.php" method="post">
Entrez votre prénom : <input type="text" name="prenom" />
<input type="submit" value="valider" />
</form>
Ce qui donnera sur votre navigateur, si vous rentrez "martial" :
Sur cet exemple, l'utilisateur a la possibilité de spécifier une seule information : son prénom, cette donnée sera exploitable dans la page resultat.php sous la forme d'une variable $_POST["prenom"] (composée de l'attribut "name" de la zone de texte à remplir) dont la valeur sera égale à la chaîne de caractères entrée.
Ainsi on aura par exemple dans la page resultat.php :
<?php
echo "Prénom tapé par l'utilisateur : ".$_POST['prenom'];
?>
Prénom tapé par l'utilisateur : martial
Une variable dite superglobale est alors automatiquement créée et exploitable dans le fichier resultat.php et uniquement dans celui-ci.
Tous les contrôles de formulaire qui possèdent un attribut "name" engendrent la création d'une variable superglobale dont le nom est $_POST["nom de la variable"] et la valeur fonction des renseignements saisis par l'utilisateur. Nous remarquerons l'emploi de la syntaxe $_POST qui rappelle que la variable a été construite à partir de la méthode POST.
Notons enfin que l'on peut écrire indistinctement : $_POST['prenom'], $_POST["prenom"] ou $_POST[prenom].
Deux méthodes peuvent être utilisées dans l'envoi de données via les formulaires, la méthode GET et POST. Nous préconisons l'emploi de la méthode POST car elle cache les informations transmises (qui transiteraient par l'URL dans le cas de la méthode GET). De plus, elle permet d'envoyer des données importantes en taille (la méthode GET se limite à 255 caractères) et assure la gestion de l'envoi de fichiers.
La méthode GET est utilisée par défaut lorsque l'on utilise l'URL pour faire passer des variables, ce que nous aborderons plus loin sur cette page.
Voici un exemple de traitement des variables qui émanent des différents contrôles et champs renseignés par un internaute sur un formulaire d'échange de liens.
<form method="POST" action="traitement.php">
Votre adresse e-mail<input type="text" name="mail" value="adresse e-mail" size="30" maxlength="55">
<input type="checkbox" NAME="mailing" value="oui" checked> abonnement gratuit à notre-planete.info
Description de votre site<br>
<textarea name="description" rows="3" cols="60"></textarea><br>
Type d'échange souhaité :
<select name="demande">
<option selected="selected" value="echange de liens">Echange de liens</option>
<option value="partenariat">Partenariat</option>
</select>
Dans quelle rubrique souhaitez-vous être présent ?<br>
<input type="radio" name="rubrique" value="environnement" />Environnement / Ecologie<br>
<input type="radio" name="rubrique" value="geographie" />Géographie<br>
<input type="radio" name="rubrique" />Photos
</form>
Ce qui donne sur votre navigateur, une fois qu'un demandeur a rempli le formulaire :
Nous remarquerons que l'appel à la page de traitement des données est "traitement.php", on peut tout à fait appeler la même page en utilisant une variable globale PHP intitulée $_SERVER['PHP_SELF'] qui signifie la page en cours.
Ainsi, l'affichage du formulaire et l'exploitation de ses résultats sera opéré sur la même page. Ceci implique que dans le code PHP, un test soit effectué pour savoir si le formulaire a été rempli ou non par exemple en testant si une des variables du formulaire a été déclarée avec la fonction isset().
Le code qui permet de récupérer les différentes valeurs saisies par l'utilisateur est le suivant :
<?php
$mail = $_POST["mail"];
echo "votre adresse e-mail est : $mail<br />";
$mailing = (isset($_POST["mailing"])? "oui" : "non");
echo "Avez-vous souhaité vous inscrire sur la lettre d'informations ? $mailing<br />";
$description = htmlentities($_POST["description"],ENT_QUOTES);
echo "et sa description est la suivante : <br />".nl2br($description)."<br />";
$rubrique = $_POST["rubrique"];
echo "pour la rubrique ".$rubrique;
?>
votre adresse e-mail est : demandeur@fai.com
Avez-vous souhaité vous inscrire sur la lettre d'informations ? oui
et sa description est la suivante :
Site sur les insectes tropicaux.
Découvrez les plus impressionnants insectes visibles sur notre planète en toute saison : l'été comme l'hiver.
pour la rubrique photos
Ces données seront ensuite insérées dans une base de données pour y être conservées et exploitées par la suite.
Aller en haut de page ^
Offres d'emploi et CV
Livres et DVD
Associations
Communiqués
Agenda
Flux RSS
Partenaires
Page mise à jour le 01/12/2011 25 connectés© 2001-2012 notre-planete.info® v. 5.68 - tous droits réservés
notre-planete.info est un site indépendant qui informe et sensibilise objectivement sur l'environnement, l'écologie, les sciences de la Terre et le développement durable
Mentions légales |
Presse |
Publicité |
Contact |
Liens et logos |
Soutenez notre-planete.info !