Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/03/2007, 23h18   #1
HwRZxLc4
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Par défaut Vider les champs d'un formulaire après validation

Bonsoir,

J'ai un formulaire qui si il n'est pas rempli correctement ré affiche les données, comment vider les champs après validation pour que quand on retourne sur le formulaire qu'il ne propose pas se qui a déjà été saisi avant en liste... ?

Merci d'avance.
  Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2007, 01h06   #2
Membre éprouvé
 
Homme
Inscription : avril 2005
Messages : 611
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : Turquie

Informations forums :
Inscription : avril 2005
Messages : 611
Points : 459
Points : 459
euhh logiquement si tu fait rien pour çà n'est pas censé réafficher les infos déjà entrés.

rajoute des value="" dans des champs de formulaire peut etre
maximenet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2007, 09h24   #3
HwRZxLc4
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
nan c'est pas de sa que je parle, je parle que le navigateur mémorise les champs des formulaires, or j'ai constaté que sur certain site sa mémorise pas quand on retourne sur le formulaire une nouvelle fois.
  Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2007, 09h26   #4
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Salut

C'est dans la FAQ : Comment ne pas garder l'historique d'un champ de saisie ?
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2007, 09h29   #5
Membre habitué
 
Inscription : octobre 2006
Messages : 325
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 325
Points : 137
Points : 137
moi perso je voit pas comment ta fais car je fait un site moi aussi et si les donnée ne sont pas corecte a la validation, le site te renvoy au formulaire et tous est vide mais je n'est rien fait de special et justement je voudrai pouvoir garder les infos mais a chaque foi tous est effecer

montre nous ton code on poura peut etre voir d'ou sa vient

il faudrait le code du formulaire et le code de la verif
teen6517 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2007, 10h17   #6
Membre éprouvé
 
Homme
Inscription : avril 2005
Messages : 611
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : Turquie

Informations forums :
Inscription : avril 2005
Messages : 611
Points : 459
Points : 459
Pour toi teen6517

si tu veux que les valeur soit garder sur un exemple très simple il te suffit de mettre dans l'attribut value de ton input une valeur retourner :

Code :
<input type="text" name="champ1" value="<?php echo $_POST['champ1']; ?>" />
Mais biensur c'est pas l'idéal car il vaut mieux envoyer le formulaire sur une url différente de l'affichage du formulaire

dans ce cas tu stock les valeur de ton formulaire en session par exemple
$_SESSION=$_POST et là logiquement çà garde les memes clefs

ton action qui controle le formulaire s'il trouve une erreur alors tu renvoie vers l'url du formulaire avec un header()

et alors dans ton formulaire tu aurai:

Code :
<input type="text" name="champ1" value="<?php if(!empty($_SESSION['champ1'])) echo $_SESSION['champ1']; ?>" />
maximenet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2007, 12h07   #7
Membre habitué
 
Inscription : octobre 2006
Messages : 325
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 325
Points : 137
Points : 137
etu sur de toi

car empty détermine si une variable contient une valeur non nulle

mais la premiere foi ou je afficher se formulaire il me semble que j'aurai un warning car il me dira que c'est une variable indeterminer ou quelque chose du meme jenre

je vais tester et je verais bien.


merci beaucoup
teen6517 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2007, 12h26   #8
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Citation:
Envoyé par teen6517
car empty détermine si une variable contient une valeur non nulle
Non, empty() détermine si la variable existe et si elle est vide. La solution proposée par maximenet est l'idée à retenir.

--> http://php.developpez.com/faq/?page=...type-functions
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2007, 12h43   #9
Membre habitué
 
Inscription : octobre 2006
Messages : 325
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 325
Points : 137
Points : 137
Si ta deux minute Yogui va voir ici


http://fr3.php.net/manual/fr/function.empty.php


je trouvais se tuto bien avec des exemple simple mais serait-il non fiable!!!!
teen6517 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2007, 12h52   #10
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Ce que je voulais dire, c'est qu'il y a deux étapes dans le fonctionnement d'empty...
  1. Vérifier que la variable existe : oui => continue ; non => retourne TRUE (et ne continue pas)
  2. Vérifier que la valeur de la variable est non nulle (ou équivalent, cf. le lien précédent) : oui => retourne FALSE ; non => retourne TRUE.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2007, 13h03   #11
Membre éprouvé
 
Homme
Inscription : avril 2005
Messages : 611
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : Turquie

Informations forums :
Inscription : avril 2005
Messages : 611
Points : 459
Points : 459
Juste une précision avec ce que j'ai mis plus haut

au lieu de $_SESSION=$_POST

il serai préférable de faire plutot :

$_SESSION['mon_form']=$_POST

histoire de ne pas se mélanger les pinceaux avec les autres variables en sessions qui pourrai avoir le meme nom qu'un champ du formulaire, on ne sait jamais

et puis aussi dans l'idéal il faudrai d'abord vérifier les champs fournis et ne garder dans $_POST que les valeurs qui sont valides pour ne pas réafficher les erreurs dans le formulaires
maximenet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2007, 13h16   #12
Membre habitué
 
Inscription : octobre 2006
Messages : 325
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 325
Points : 137
Points : 137
Citation:
et puis aussi dans l'idéal il faudrai d'abord vérifier les champs fournis et ne garder dans $_POST que les valeurs qui sont valides pour ne pas réafficher les erreurs dans le formulaires

c'était bien mon intention de ne garder que ce qui sont correcte



mais je vais avoir quelque probleme car j'ai fait ma verification de maniere a ce que si une valeur et fausse on sort de la verif et on repar au formulaire sinon on verifie la suivante etc

donc si la premiere donné est erronée alor aucune des autre n'est verrifier

vous penser que c'est une mauvaise idée de consevoir de cette maniere?
teen6517 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2007, 15h59   #13
Membre éprouvé
 
Homme
Inscription : avril 2005
Messages : 611
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : Turquie

Informations forums :
Inscription : avril 2005
Messages : 611
Points : 459
Points : 459
ben avec ta méthode tu ne sauvegarde pas le contenu des champs qui suivent le champs éronnés.

Donc moi en général ce que je fait c'est que je construit un tableau en session pour suivre l'exemple plus haut :

Code :
1
2
3
 
$i=0;
$_SESSION['mon_form']['erreurs'][++$i] = 'tu ajoute le commentaire que tu veux pour chaque champs erronés';
et à la fin de la vérif du formulaire tu fait
Code :
1
2
3
4
5
6
 
if(!empty($_SESSION['mon_form']['erreurs'])){
    // tu renvoie vers le formulaire
}else{
    // tu valide le formulaire
}
et juste au dessus du formulaire tu fait
Code :
1
2
3
4
5
6
 
if(!empty($_SESSION['mon_form']['erreurs'])){
    foreach($_SESSION['mon_form']['erreurs'] as $key=>$value){
        echo '<strong style="color:red">'.$value.'<strong><br />';
    }
}
maximenet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2007, 16h17   #14
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Plutôt que styler la balise <strong>, je pense qu'il serait plus correct de styler la balise <span> :
Code HTML :
<span style="color: red; font-weight: bold;">...</span>
Sinon, j'approuve ^^
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2007, 18h40   #15
Membre habitué
 
Inscription : octobre 2006
Messages : 325
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 325
Points : 137
Points : 137
ok merci pour le conseil les mecs
teen6517 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2007, 11h29   #16
Membre éprouvé
 
Homme
Inscription : avril 2005
Messages : 611
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : Turquie

Informations forums :
Inscription : avril 2005
Messages : 611
Points : 459
Points : 459
oui enfin pour le style là c'était un exemple rapide, dans l'idéal j'ai une class en css et je ne met le style qu'une fois dans ma feuille css, car là sinon le style est répété plusieurs fois.
maximenet est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Mettre Résolu
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h38.


 
 
 
 
Partenaires

Hébergement Web