« PHP/Formulaire » : différence entre les versions

Contenu supprimé Contenu ajouté
m ébauche informatique
Ndagoubert (discussion | contributions)
Aucun résumé des modifications
Ligne 1 :
{{ébauche informatique}}
Le [[PHP]] est un langage de traitement. Une page en php pourra analyser et effectuer des opérations suite à un formulaire. Ce formulaire devra être écrit en [[HTML]], dans une page .html (.htm) ou .php. Pour notre exemple, nous allons créer une page pouravec laquelle un utilisateur pourra se connecter à une zone membreadministrateur.
 
== Présentation ==
 
Notre formulaire (form.html) comprendra 42 éléments :
* le champ de pseudo ("login")
* le champ du mot de passe ("password")
* une case a cocher, pour définir la durée de la connexion
* un bouton pour soumettre le formulaire
 
La page de traitement, en php (traitement.php) :
* vérification si le mot de passe est correct
* envoi d'un [[cookie]]. ceci sera la preuve que l'ordinateur distant est autorisé à accéder aux pages
 
Une page de la zone administration :
* vérification si l'utilisateur est autorisé à consulter les pages
 
== Le formulaire ==
 
Le code source présenté ici est uniquement le formulaire. Pour un affichage agréable de la page il est nécessaire de l'"habiller". Voir comment créer une page en [[HTML]]. Ce script ne sera pas expliqué. Pour le comprendre vous devez avoir les bases du formulaire en html.
<source lang="html">
<form action=traitement.php method=post>
<input type=password size=20 name=mdp>
<input type=submit value=OK>
</form>
</source>
En gros, ce formulaire enverra sur la page traitement.php la valeur de l'entrée mdp
 
== Le traitement ==
 
Pour comprendre la suite, vous devez avoir en tête la chose suivante sur les [[variables]]. Le champ dont le nom est mdp (name=mdp) envoie sur la page de traitement la variable ''$mdp'' avec pour valeur l'entrée renseignée.<br>exemple : je tape dans le champ mdp mon mot de passe (azerty). La page traitement.php sera renseignée comme suit : $mdp = azerty; Cela correspond à l'entrée de données par la forme ''traitement.php?mdp=azerty''.
 
<source lang=php>
<?php // traitement.php
$motdepasse = qwerty; // voici le mot de passe a envoyer si l'on veut être connecté
if ($mdp != $motdepasse) { // si la valeur envoyée est différente de la valeur demandée
exit; // interruption du script (voir php/interrompre_un_script)
}
setcookie("wiki","$mdp",time()+3600); // le serveur envoie un cookie à l'utilisateur pour permettre l'accès aux pages administration
header("location: admin.php"); // la page redirige l'utilisateur vers la page de la zone d'adminisration
?>
</source>