le MEMO du WEB développeur
 

••• Les formulaires HTML •••   Liste des Mémos, astuces et bonnes pratiques

Imposer une taille max aux fichiers uploadés sur le serveur - Divers
Valider un formulaire en javascript - Javascript
Plugin JQuery Select Box / Drop-Down / Liste déroulante. Un joli select - JQuery
Vérifier si un champs est bien renseigné dans un formulaire HTML - Javascript
Récupérer le contenu ou afficher du texte dans un textarea en JQuery - JQuery
Empêcher de coller du texte dans un champs input de type text - JQuery
Formulaire de paiement paypal en PHP - PHP
Empêcher l'autocomplétion dans les formulaires - HTML

Problème de slash sur passage de paramètres dans formulaire - HTML

Dans un formulaire HTML, je saisis dans une balise une valeur contenant une apostrophe, disons :

<input type="text" name="etat"  value="l'ouragan est passé"  />

A la récupération du paramètre "etat" j'obtiens :  $_GET["etat"]= "l\\'ouragan est passé",  avec un backslash agaçant. Que faire ?

  1. Soit j'utilise la fonction stripSlashes($_GET["etat"]) qui supprime les backslashes
  2. Soit je modifie le paramètre magic_quotes_gpc  de mon fichier php.ini de WAMP. Imposer la valeur de magic_quotes_gpc  à "off", empêchera l'ajout de backslashes au passage de paramètres par formulaire mais aussi dans les cookies.    Sous l'hébergeur PHPNux, il est possible de modifier ce paramètre directement dans votre espace client, sous 1&1, il faut créer un fichier php.ini à l'aide d'un bloc note contenant :
magic_quotes_gpc = off

  et de le placer dans les répertoires de votre site nécessitant cette fonctionnalité.

 Chez OVH il faut rajouter la ligne suivante dans le fichier .htacces

SetEnv MAGIC_QUOTES 0

source : http://guides.ovh.net/ConfigPhp

Les magic_quotes visent à protéger les formulaires des injections SQL, mais il est fortement recommendé d'utiliser plutôt la fonction mysql_real_escape_string() plus complète qui neutralise, en les échappant tous les caractères susceptibles d'être utilisés lors d'une injection SQL :

  • les guillemets simples ' ;    
  • les guillemets doubles " :    
  • les slashes / ;    
  • les caractères NULL ;    
  • les caractères suivants : \n, \r, \x00 et \x1a.

Avertissement :
mysql_real_escape_string() est dépréciée depuis PHP 5.5.0

source : http://www.phpfacile.com/creer_un_site_web_en_php/formulaire_1.php5

publié le 16/11/2012 par Memo Web
.htaccessFormulairesphp.ini
Commenter le Mémo :

Récupérer la valeur ou le texte sélectionné d'un élément SELECT dans un formulaire - Javascript
Lecture seule d'un textarea en JQuery - JQuery
Limiter le nombre de caractères saisis dans un textarea - HTML
Jquery récupérer les valeurs de checkbox, select et radio - JQuery
Ajoutez vos propres Mémos sur MEMO-WEB

Il suffit de vous créer un compte sur le site

Vous pourrez choisir un thème parmis l'une des catégories proposées par MEMO-WEB.

Rédigez votre Mémo.
Après validation par MEMO-WEB, il sera mis en ligne.
Ajouter vos Mémos