FAQ (X)HTMLConsultez toutes les FAQ

Nombre d'auteurs : 23, nombre de questions : 53, dernière mise à jour : 30 mars 2017 

 
OuvrirSommaireGénéralitésUtilisations des balises et de leurs attributsFormulairesEnvoi des données

Pour récupérer les données d'un formulaire, vous pouvez utiliser un langage côté serveur comme PHP, ASP,etc.

Page (X)HTML contenant le formulaire
Sélectionnez

<form action="traitement.php" method="post">
  <fieldset>
    <legend>Mes champs</legend>
    <input type="text" name="nom" value="Entrez votre nom ici..."/>
    <input type="text" name="prenom" value="Entrez votre prenom ici..."/>
  </fieldset>
</form>    

L'important est de spécifier l'url du script qui va traiter les données du formulaire et la méthode employée (GET ou POST).

Dans le script traitement.php, on récupère les champs du formulaire grâce au nom spécifié dans l'attribut name.

En PHP
Sélectionnez

$nom = $_POST['nom']; // Envoi avec la méthode POST
$nom = $_GET['nom']; // Envoi avec la méthode GET
En ASP
Sélectionnez

nom = Request.Form("nom") 'Quelle que soit la méthode

Quel que soit le langage utilisé côté serveur, il y a un aspect sécurité à ne pas négliger. Introduire une variable locale dans le code d'une application suppose que l'on peut l'utiliser relativement librement. Par exemple, faire un echo d'une variable $_GET ou $_POST offre une parfaite cible pour une faille XSS.

La faille XSS :


Il faut filtrer le contenu lors de la construction de la variable locale : s'assurer qu'elle ne contient que ce que l'on espère. Ce n'est pas souvent évident à faire mais c'est fondamental.

Il faut également protéger le contenu lors de son affichage : htmlspecialchars() ou htmlentities() en PHP.

Afin d'obtenir plus de renseignements sur cet aspect de sécurité, se reporter aux F.A.Q's concernant le langage que vous utilisez.

Créé le 29 février 2008  par Linaa, Yogui

Lien : Les F.A.Q's de developpez.com
Lien : Les questions sur la sécurité dans la F.A.Q PHP

Oui, c'est possible.
Il suffit de définir la méthode POST et d'ajouter à l'url de l'attribut action les paramètres que vous souhaiter envoyer en GET

 
Sélectionnez

<form action="script.php?get1=val1&amp;get2=val2" method="post">
  <fieldset>
    <legend>Ces données seront envoyées avec la méthode POST</legend>
    <label for="post1">Post1</label><input type="text" id="post1" name="post1"/>
    <label for="post2">Post1</label><input type="text" id="post2" name="post2"/>
  </fieldset>
</form>  

Ainsi, get1 et get2 seront envoyées GET alors que post1 et post2 seront envoyés en POST.

Créé le 1er décembre 2007  par MasterOfChakhaL

Il faut définir l'attribut enctype de l'élément form.

 
Sélectionnez

enctype="application/x-www-form-urlencoded | multipart/form-data | text/plain | Type de média selon RFC 2045"
        

L'attribut enctype indique comment les données doivent être encodées avant d'être envoyées au serveur. La valeur par défaut est application/x-wwwform-urlencoded. Ce type d'encodage remplace les espaces par un signe + et les autres caractères non imprimables par le signe %, suivi de leur représentation ASCII hexadécimale.

L'option multipart/form-data n'effectue aucune conversion et transfère les données sous la forme d'un document MIME. Elle doit être employée lorsque <input type="file"/> est utilisé.

Il est également possible d'utiliser un autre type d'encodage comme text/plain pour éviter toute forme d'encodage hexadécimal, ce qui peut être utile avec les formulaires transmis par courrier électronique.

Mis à jour le 29 février 2008  par Jérôme
  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2004 Developpez.com Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.