Valider les données d'un formulaire

Résolu
bdmproof Messages postés 7 Date d'inscription jeudi 13 septembre 2007 Statut Membre Dernière intervention 21 septembre 2007 - 19 sept. 2007 à 17:07
bdmproof Messages postés 7 Date d'inscription jeudi 13 septembre 2007 Statut Membre Dernière intervention 21 septembre 2007 - 21 sept. 2007 à 11:59
Bonjour,

j'ai mis en place un script qui permet de recevoir les données d'un utilisateur depuis un formulaire sur mon site web.

Parmi tous les contrôles effectués, il y a bien entendu la vérification de chaque champ, ce qui donne par exemple pour le champ "nom" :
$nom = stripslashes($_POST['nom']);
$nom = trim($nom);
$nom = strip_tags($nom);
$nom = str_replace($accent, $sans, $nom);
$nom = htmlentities($nom);


magic_quotes_gpc est à "on"

J'aimerais savoir s'il est possible de traiter tous les champs du formulaire dans une boucle, plutôt que répéter X fois, pour chaque champ, les 5 lignes ci-dessus ?

Si vous avez une idée !! ;)

Merci d'avance

5 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
21 sept. 2007 à 11:25
Hello,

oui.

Autre solution :
<?php
function myTrim($v) {
    return trim(stripslashes($v));
}
$_POST = array_map('myTrim', $_POST);
?>
3
cs_caviar Messages postés 329 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 29 mars 2015 2
19 sept. 2007 à 17:36
    utilise une boucle foreach pour le tableau post

par exemple (non testé)

foreach ($_POST as $key => $value) {
       $_POST[$key] => trim($value) ;
// plus les autres traitements que tu veux
}

ensuite tu récup tes données traitées dans le tableau post

@+
0
bdmproof Messages postés 7 Date d'inscription jeudi 13 septembre 2007 Statut Membre Dernière intervention 21 septembre 2007
19 sept. 2007 à 19:53
merci ;)
0
bdmproof Messages postés 7 Date d'inscription jeudi 13 septembre 2007 Statut Membre Dernière intervention 21 septembre 2007
20 sept. 2007 à 10:01
après vérification, je n'arrive pas à faire fonctionner ta boucle.
<?php
23. foreach ($_POST as $key => $value)
24. {
25. $_POST[$key] => trim(stripslashes($value));
26. }
?>

en faite ça ne fonctionne pas ! j'ai le message d'erreur suivant à l'exécution de la boucle :

Parse error: syntax error, unexpected T_DOUBLE_ARROW in /chemin/www/script.php on line 25

la solution serait-elle :
<?php
foreach ($_POST as $key => $value) {
$_POST[$key] = trim(stripslashes($value));
}
?>

merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bdmproof Messages postés 7 Date d'inscription jeudi 13 septembre 2007 Statut Membre Dernière intervention 21 septembre 2007
21 sept. 2007 à 11:59
ok, c'est noté !
je valide la discussion...

merci à tous les deux pour vos conseils ;)

PS : J'aurais une autre question concernant l'injection de headers dans les formulaires php, mais je pense que je vais faire un autre post, pour ça !
0
Rejoignez-nous