|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
UsagiYojimbo WRInaute accro

Inscrit le: 23 Nov 2005 Messages: 2080 Localisation: Lyon, capitale des Gaules
|
Posté le : Jeu Déc 07, 2006 14:36 Sujet du message: Traitement de formulaires : vos pratiques |
|
|
Bonjour à tous !
J'aimerais savoir comment les membres de WRI qui développent en php (ou en asp d'ailleurs) gèrent les traitements de formulaires, c'est à dire comment gérez-vous la validation des données rentrées par l'utilisateur et leur insertion dans la base :
- Utilisation de classes spécifiques et si oui lesquelles (si ce sont des classes open-source)
- Traitement de formulaire "à la main" en php (c'est à dire sans passer par l'utilisation d'une classe où d'un script spécifique)
- Validation côté client ou serveur
- etc.
Perso je suis beaucoup plus enclin à une validation côté serveur (en PHP donc) qu'une validation en javascript. Mais ma problèmatique repose dans le fait de savoir s'il existe des classes pour faire ce genre de traitement, dans le cas contraire je me mettrais els mains dans le cambouis). |
|
| |
|
 |
Sir Dipp WRInaute accro

Inscrit le: 21 Juil 2003 Messages: 1022
|
Posté le : Jeu Déc 07, 2006 16:08 Sujet du message: Traitement de formulaires : vos pratiques |
|
|
Salut,
J'utilise deux vérifications, la première JavaScript relativement simple et efficace (un script de 30 lignes en JS me permet de vérifier tous mes champs obligatoire).
J'ajoute également un noscript avec un champ caché pour savoir si je dois faire une vérification serveur ou pas (pour php) sinon ASP.NET me gère cela tout seul ce qui est super pratique
Sinon, pour la vérification serveur j'utilise un système de combinaisons entre les tableaux et le POST pour vérifier les champs dans une boucle assez simplement, comme ça pas besoin de faire des dizaines de if et else pour contrôler champ après champ !
a+
Dernière édition par Sir Dipp le Jeu Déc 07, 2006 16:27; édité 1 fois |
|
| |
|
 |
ybet WRInaute accro

Inscrit le: 22 Nov 2003 Messages: 4920 Localisation: un .be à Chiny (Belgique) perdu sur Google.fr ...
|
Posté le : Jeu Déc 07, 2006 16:22 Sujet du message: Traitement de formulaires : vos pratiques |
|
|
| directement en php (avec des if ....) |
|
| |
|
 |
dorian53 WRInaute accro

Inscrit le: 10 Avr 2005 Messages: 1411
|
Posté le : Jeu Déc 07, 2006 18:20 Sujet du message: Traitement de formulaires : vos pratiques |
|
|
| Sir Dipp a écrit: |
Salut,
J'utilise deux vérifications, la première JavaScript relativement simple et efficace (un script de 30 lignes en JS me permet de vérifier tous mes champs obligatoire).
J'ajoute également un noscript avec un champ caché pour savoir si je dois faire une vérification serveur ou pas (pour php) sinon ASP.NET me gère cela tout seul ce qui est super pratique
Sinon, pour la vérification serveur j'utilise un système de combinaisons entre les tableaux et le POST pour vérifier les champs dans une boucle assez simplement, comme ça pas besoin de faire des dizaines de if et else pour contrôler champ après champ !
a+ |
Je te conseille de toujours faire la vérification PHP !! |
|
| |
|
 |
jeroen WRInaute accro

Inscrit le: 30 Aoû 2002 Messages: 2257
|
Posté le : Jeu Déc 07, 2006 19:16 Sujet du message: Traitement de formulaires : vos pratiques |
|
|
je plus gros problème est d'empêcher la resoumission par refresh une fois le formulaire validé.
perso je fais
| Code: |
<?php
vérif de la validité des champs
si ok {
traitement du formuaire
redirection page ok
}
?>
formulaire html qui pointe sur la même page |
l'avantage de la méthode, c'est
- pas de revalidation lors d'un refresh
- formuaire pré-rempli si lors de la première validation les champs ne sont pas validés |
|
| |
|
 |
OTP Modérateur

Inscrit le: 16 Déc 2005 Messages: 8826 Localisation: En bas de l'éolienne...
|
Posté le : Jeu Déc 07, 2006 19:22 Sujet du message: Traitement de formulaires : vos pratiques |
|
|
| ybet a écrit: |
| directement en php (avec des if ....) |
Même chose
Ce me suffit largement ! |
|
| |
|
 |
ybet WRInaute accro

Inscrit le: 22 Nov 2003 Messages: 4920 Localisation: un .be à Chiny (Belgique) perdu sur Google.fr ...
|
Posté le : Jeu Déc 07, 2006 20:33 Sujet du message: Traitement de formulaires : vos pratiques |
|
|
| jeroen a écrit: |
je plus gros problème est d'empêcher la resoumission par refresh une fois le formulaire validé.
perso je fais
| Code: |
<?php
vérif de la validité des champs
si ok {
traitement du formuaire
redirection page ok
}
?>
[b]formulaire html qui pointe sur la même page[/b] |
|
jamais essayé en auto-invocant?
Pour le refresh: die('<meta http-equiv="refresh" content="3; URL=page d'accueil">');
plus aucon problèmes |
|
| |
|
 |
dorian53 WRInaute accro

Inscrit le: 10 Avr 2005 Messages: 1411
|
Posté le : Jeu Déc 07, 2006 20:45 Sujet du message: Traitement de formulaires : vos pratiques |
|
|
| Onthisplanet a écrit: |
| ybet a écrit: |
| directement en php (avec des if ....) |
Même chose
Ce me suffit largement ! |
Le Javascript permet de gagner un traitement machine coté serveur !
Ca évite de recharger la page aussi... |
|
| |
|
 |
jeroen WRInaute accro

Inscrit le: 30 Aoû 2002 Messages: 2257
|
Posté le : Jeu Déc 07, 2006 20:50 Sujet du message: Traitement de formulaires : vos pratiques |
|
|
| ybet a écrit: |
jamais essayé en auto-invocant?
Pour le refresh: die('<meta http-equiv="refresh" content="3; URL=page d'accueil">');
plus aucon problèmes |
Comprends pas ? |
|
| |
|
 |
ybet WRInaute accro

Inscrit le: 22 Nov 2003 Messages: 4920 Localisation: un .be à Chiny (Belgique) perdu sur Google.fr ...
|
Posté le : Jeu Déc 07, 2006 21:13 Sujet du message: Traitement de formulaires : vos pratiques |
|
|
l'autoinvocant t'évite 2 pages (le formulaire en HTML)
| Code: |
if (isset($HTTP_POST_VARS['B1']))
{
// teste les valeurs.
$nom=trim(addslashes($HTTP_POST_VARS['nom']));
$mail=trim(addslashes($HTTP_POST_VARS['mail']));
$tableau=array();
$tableau=Explode("@",$mail,2);
echo $tableau[0];
if ($nom=="" || $nom=="Nom")
{
echo "Veuillez rentrer un nom";
}elseif ($mail==""){
echo "Rentrez une adresse mail";
}elseif (!isset($tableau[1])) {
echo"Rentrez une adresse valide";
}else{
// envoi dans la base de donnée ou vial la fonction mail()
//die ();
}
// formulaire
$form="<form method=\"POST\">
<p>Nom: <input type=\"text\" name=\"nom\" size=\"20\" value=\"Nom\"></p>
<p>Votre adresse mail: <input type=\"text\" name=\"mail\" size=\"30\" value=\"Votre adresse mail\"></p>
<p><input type=\"submit\" value=\"Envoyer\" name=\"B1\"></p>
</form>";
echo $form; |
|
|
| |
|
 |
jeroen WRInaute accro

Inscrit le: 30 Aoû 2002 Messages: 2257
|
Posté le : Jeu Déc 07, 2006 21:49 Sujet du message: Traitement de formulaires : vos pratiques |
|
|
oui, c'est bien ce que je fais
| Citation: |
| formulaire html qui pointe sur la même page |
par contre pourquoi faire un die et un redirect en javascript, alors que tu peux faire un redirect directement via php ?? |
|
| |
|
 |
Patrice A. Modérateur

Inscrit le: 11 Fév 2005 Messages: 2397 Localisation: Nantes
|
Posté le : Ven Déc 08, 2006 2:51 Sujet du message: Traitement de formulaires : vos pratiques |
|
|
parce que le redirect php ne marche pas toujours. (mystère et boule de gomme)
Au sujet du formulaire, je passe toujours un coup de mysql_real_escape_string() ou de intval() avant de mettre quelque chose dans ma base.
Mon problème après, c\'est de virer les caractères d\'échappement qui s\'invitent tous seuls dans le texte inséré en base. \"Il faut ce qu'il faut\", comme dirait l\'autre. |
|
| |
|
 |
rog WRInaute accro

Inscrit le: 21 Sep 2006 Messages: 1662 Localisation: sapucaia do sul (RS)
|
Posté le : Ven Déc 08, 2006 4:03 Sujet du message: Traitement de formulaires : vos pratiques |
|
|
| Citation: |
| mysql_real_escape_string() |
php est un tissus de bug
je pense qu'il est preferable de créer ses propres fonctions
rog |
|
| |
|
 |
jeroen WRInaute accro

Inscrit le: 30 Aoû 2002 Messages: 2257
|
Posté le : Ven Déc 08, 2006 7:39 Sujet du message: Traitement de formulaires : vos pratiques |
|
|
| Dj_Apx a écrit: |
| parce que le redirect php ne marche pas toujours. (mystère et boule de gomme) |
Ca c'est super pertinent
Il y a toujours une explication. Donne un exemple pour voir... |
|
| |
|
 |
Patrice A. Modérateur

Inscrit le: 11 Fév 2005 Messages: 2397 Localisation: Nantes
|
Posté le : Ven Déc 08, 2006 18:39 Sujet du message: Traitement de formulaires : vos pratiques |
|
|
Après expérimentation une cause possible du mystère est que si l'on envoie des données après le header, les navigateurs ne font pas forcément la redirection. Pour la boule de gomme, je n'ai pas encore trouvé  |
|
| |
|
 |
| |
|
|