Réafficher les données d'un formulaire
mateomania
-
jeangilles Messages postés 816 Date d'inscription Statut Membre Dernière intervention -
jeangilles Messages postés 816 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je développe un site et j'aimerais réafficher les données d'un formulaire si le formulaire comporte une erreur.
Plus précisément, si l'utilisateur oublie de donner le nom à un nouveau client, j'affiche une boite de dialogue, puis je reviens sur le formulaire. Mais les données qu'il avait rentrés à propos de ce client ont disparus. Or j'aimerais les réafficher . J'ai testé plusieurs scripts java. Mais je n'y arrive pas.
Si quelqu'un pouvait m'aider, ce serait avec joie !
merci d'avance
je développe un site et j'aimerais réafficher les données d'un formulaire si le formulaire comporte une erreur.
Plus précisément, si l'utilisateur oublie de donner le nom à un nouveau client, j'affiche une boite de dialogue, puis je reviens sur le formulaire. Mais les données qu'il avait rentrés à propos de ce client ont disparus. Or j'aimerais les réafficher . J'ai testé plusieurs scripts java. Mais je n'y arrive pas.
Si quelqu'un pouvait m'aider, ce serait avec joie !
merci d'avance
A voir également:
- Réafficher les données d'un formulaire
- Whatsapp formulaire opposition - Guide
- Fuite données maif - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Supprimer les données de navigation - Guide
- Formulaire de reclamation instagram - Guide
19 réponses
en javascript .
Je sais qu'il est possible de faire des scripts en Ajax aussi.
Enfin peu importe le langage, du moment que ça marche. ;)
Je sais qu'il est possible de faire des scripts en Ajax aussi.
Enfin peu importe le langage, du moment que ça marche. ;)
Heu
on peut voir comment tu appelles tes fonctions js qui vérifient les données du formulaire ?
parce que si les données que tu as entrées ne sont plus là, c'est que tu formulaire a été soumis
on peut voir comment tu appelles tes fonctions js qui vérifient les données du formulaire ?
parce que si les données que tu as entrées ne sont plus là, c'est que tu formulaire a été soumis
Voici mon code tel que je l'ai présenté dans mon premier message
Voici le formulaire
Voici le formulaire
<?php
//Connection à MySQL
include('connexion.php');
?>
<p class="titre">Suivi prospection</p>
<form id="form1" name="form1" method="get" action="enreg1.php" >
<div id="CollapsiblePanel1" class="CollapsiblePanel">
<div class="CollapsiblePanelTab" tabindex="0">COORDONNEES</div>
<div class="CollapsiblePanelContent">
<p>Nom du prospé :
<label>
<input name="nom" type="text" id="nom" value="" size="40" maxlength="70" />
</label>
</p>
<p>Adresse :
<label>
<input name="adresse" type="text" id="adresse" size="50" maxlength="100" />
</label>
</p>
<p>Code et Ville :
<label>
<input type="text" name="codeville" id="codeville" />
</label>
</p>
<p>Téléphone :
<label>
<input type="text" name="tel" id="tel" />
</label>
</p>
<p>Fax :
<label>
<input type="text" name="fax" id="fax" />
</label>
</p>
</div>
</div>
<div id="CollapsiblePanel2" class="CollapsiblePanel">
<div class="CollapsiblePanelTab" tabindex="0">CONTACT</div>
<div class="CollapsiblePanelContent">
<p>Nom du contact :
<label>
<input name="nom_contact" type="text" id="nom_contact" size="40" maxlength="50" />
</label>
</p>
<p>Qualité du contact :
<label>
<input name="qual_contact" type="text" id="qual_contact" size="30" maxlength="40" />
</label>
</p>
<p>Nombres de marques :
<label>
<input type="text" name="nbrs_marques" id="nbrs_marques" />
</label>
</p>
<p>Ligne directe :
<label>
<input type="text" name="ligne" id="ligne" />
</label>
</p>
<p>Adresse Mail :
<label>
<input name="mail" type="text" id="mail" size="40" maxlength="50" />
</label>
</p>
<p>Statut du contact :
<label>
<select name="statut" id="statut">
<option>En ligne</option>
<option>Occupé</option>
<option>Absent</option>
<option>Me rappelle</option>
<option selected="selected"> </option>
</select>
</label>
</p>
</div>
</div>
<div id="CollapsiblePanel3" class="CollapsiblePanel">
<div class="CollapsiblePanelTab" tabindex="0">SUIVI</div>
<div class="CollapsiblePanelContent">
<p>Ce contact a été appelé :
<label>
<select name="contact_appelé" id="contact_appelé">
<option>Oui</option>
<option selected="selected">Non</option>
</select>
</label>
</p>
<p>Le :
<label>
<input type="text" name="date_appel" id="date_appel" />
</label>
(année/mois/jour)</p>
<p>Résultat de l'entretien :
<label>
<select name="result_entre" id="result_entre">
<option>P0:Pas de contact</option>
<option>P1:Contact en cours</option>
<option>P2:Pas interessé</option>
<option>P3:Interessé</option>
<option>P4:Inscrit</option>
<option>P5:Dépôt ou Achat</option>
<option selected="selected"> </option>
</select>
</label>
</p>
<p>Suite à donner :
<label>
<select name="suite" id="suite">
<option selected="selected"> </option>
<option>Rappel Tel</option>
<option>Rappel Mail</option>
<option>Rappel Fax</option>
<option>Rappel Courrier</option>
</select>
</label>
</p>
<p>Date du rappel :
<label>
<input type="text" name="date_rappel" id="date_rappel"/>
</label>
(année/mois/jour)</p>
</div>
</div>
<div id="CollapsiblePanel4" class="CollapsiblePanel">
<div class="CollapsiblePanelTab" tabindex="0">HISTORIQUES DES APPELS</div>
<div class="CollapsiblePanelContent"></div>
</div>
<label>
<div align="center"><br />
<input type="submit" name="enreg" id="enreg" value="Enregistrer ce prospé" />
<script type="text/javascript">
<!--
var CollapsiblePanel1 = new Spry.Widget.CollapsiblePanel("CollapsiblePanel1");
var CollapsiblePanel2 = new Spry.Widget.CollapsiblePanel("CollapsiblePanel2", {contentIsOpen:false});
var CollapsiblePanel3 = new Spry.Widget.CollapsiblePanel("CollapsiblePanel3", {contentIsOpen:false});
var CollapsiblePanel4 = new Spry.Widget.CollapsiblePanel("CollapsiblePanel4", {contentIsOpen:false});
//-->
</script>
</div>
</form>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
<?php
@session_start();
//déclaration variable pseudo
$pseudo=$_SESSION['PSEUDO'];
//Connection à MySQL
include('connexion.php');
// On récupére les valeurs
if(isset($_GET['nom']))
$nom=$_GET['nom'];
else $nom="";
if(isset($_GET['adresse']))
$adresse=$_GET['adresse'];
else $adresse="";
if(isset($_GET['codeville']))
$codeville=$_GET['codeville'];
else $codeville="";
//Je vous mets pas la suite, je fais pareil pour les autres données
if ($nom=="")
echo' <script language="javascript">';
echo' alert( \'Veuillez donner un nom à ce prospé !\');';
echo' document.location.href="./enreg.php"';
echo' </script>';
exit;
//insertion dans la BD
$requete = "INSERT INTO deposants_courriers(deposants,Adresse,CP_Ville,Téléphone,Fax,Nom_du_Contact,Qualité_du_Contact,Nb_marques_deposees,Ligne_directe, Mail,Statut_du_contact,Contact_appele,1er_appel,Codefication,Suite_a_donner,Date_Rappel) VALUES('$nom','$adresse', '$codeville', '$tel', '$fax', '$nom_contact', '$qual_contact', '$nbrs_marques', '$ligne', '$mail', '$statut', '$contact_appelé', '$date_appel', '$result_entre', '$suite', '$date_rappel')";
mysql_query($requete) or die('Erreur SQL !<br />'.$requete.'<br />'.mysql_error());
echo' <script language="javascript">';
echo' alert( \'Ce prospé a bien été enregistré !\');';
echo' document.location.href="./accueil.php"';
echo' </script>';
// On renvoie sur le formulaire d'identification
exit;
//fermer la connexion
mysql_close();
?>
Ce que tu pourrais faire c'est mettre dans les balises value un $_SESSION['ta_valeur'].
Quand tu valides ton formulaire, tu es envoyé vers une page genre "verif.php" qui vérifie tous les champs (à la fois leur pertinence et s'ils sont bien remplis). Si tout est ok, header vers la page de ton choix sinon, header vers le formulaire en ayant pris soin de passer tous les champs corrects en $_SESSION.
Je ne sais pas si je suis très clair sur le coup...
Quand tu valides ton formulaire, tu es envoyé vers une page genre "verif.php" qui vérifie tous les champs (à la fois leur pertinence et s'ils sont bien remplis). Si tout est ok, header vers la page de ton choix sinon, header vers le formulaire en ayant pris soin de passer tous les champs corrects en $_SESSION.
Je ne sais pas si je suis très clair sur le coup...
merci pour ta réponse.
En fait, je ne souhaite pas controler la pertinence ni si les champs sont bien remplis.
Je pense avoir compris ta réponse. Pourrais tu me le réexpliquer un peu plus précisément.
En fait, je ne souhaite pas controler la pertinence ni si les champs sont bien remplis.
Je pense avoir compris ta réponse. Pourrais tu me le réexpliquer un peu plus précisément.
En haut de ta page:
<?php
session_start();
?>
plus loin dans ton code:
<form id="form1" name="form1" method="get" action="enreg1.php" >
Dans tous les champs:
<label><input type="text" name="date_appel" id="date_appel" /> </label>(année/mois/jour)</p>
Tu ajoutes un value:
<label><input type="text" name="date_appel" id="date_appel" value="$_SESSION['date_appel']" /> </label>(année/mois/jour)</p>
Alors ton formulaire envoie vers une page enreg1.php. Cette page contient des vérifications de remplissage des champs:
<?php
session_start();
extract($_POST);
//cette ligne sera contestée puisque tout le monde n'aime pas la fonction extract(). En effet si ta variable est $_POST['var1'] alors la variable $var1 est créée d'elle-même ce qui signifie une moins grande maîtrise de ce qu'il se passe
//tu passes alors toutes tes variables en variables de session:
$_SESSION['var1'] = $var1;
// et ce, pour toutes tes variables..
//tu poses alors les conditions
if($var1 == '' OR $var2 == ''){ //et ce avec toutes tes variables
header(location:'la_page_où_situe_ton_formulaire.php');
}
else{
header(location:'pagedeconfirmation.php');
}
?>
C'est juste une méthode, pas forcément la plus rigoureuse mais qui m'avait permis de pas mal progresser à l'époque où je me mettais au php...
<?php
session_start();
?>
plus loin dans ton code:
<form id="form1" name="form1" method="get" action="enreg1.php" >
Dans tous les champs:
<label><input type="text" name="date_appel" id="date_appel" /> </label>(année/mois/jour)</p>
Tu ajoutes un value:
<label><input type="text" name="date_appel" id="date_appel" value="$_SESSION['date_appel']" /> </label>(année/mois/jour)</p>
Alors ton formulaire envoie vers une page enreg1.php. Cette page contient des vérifications de remplissage des champs:
<?php
session_start();
extract($_POST);
//cette ligne sera contestée puisque tout le monde n'aime pas la fonction extract(). En effet si ta variable est $_POST['var1'] alors la variable $var1 est créée d'elle-même ce qui signifie une moins grande maîtrise de ce qu'il se passe
//tu passes alors toutes tes variables en variables de session:
$_SESSION['var1'] = $var1;
// et ce, pour toutes tes variables..
//tu poses alors les conditions
if($var1 == '' OR $var2 == ''){ //et ce avec toutes tes variables
header(location:'la_page_où_situe_ton_formulaire.php');
}
else{
header(location:'pagedeconfirmation.php');
}
?>
C'est juste une méthode, pas forcément la plus rigoureuse mais qui m'avait permis de pas mal progresser à l'époque où je me mettais au php...
ok merci caccia,
Je vais essayer si ça marche. Je pense que oui. En tout cas, je comprends la logique.
Je vais tester
Merci beaucoup en tout cas
Je vais essayer si ça marche. Je pense que oui. En tout cas, je comprends la logique.
Je vais tester
Merci beaucoup en tout cas
A ton service...
Ceci dit, si d'autres ont des méthodes qui fonctionnent et qui sont plus propres je pense que ça pourrait être pas mal... Parce que je sais que ce que je fais en php d'une façon générale est pas mal fait de bric et de broc. Ca marche, ça fait ce qu'on lui demande mais ça mériterait d'être pas mal optimisé...
Ceci dit, si d'autres ont des méthodes qui fonctionnent et qui sont plus propres je pense que ça pourrait être pas mal... Parce que je sais que ce que je fais en php d'une façon générale est pas mal fait de bric et de broc. Ca marche, ça fait ce qu'on lui demande mais ça mériterait d'être pas mal optimisé...
Bon après bien des tentatives, des trifouillages etc, je n'y arrive pas avec ta méthode.
En fait je ne souhaite poser une seule condition ! si il n'y a pas de nom ( si l'utilisateur a oublié de le rentrer) je voudrais ( comme je l'ai fait) qu'une boite de dialogue s'affiche puis me fasse revenir sur le formulaire, tout en ayant conserver les données qui avaient été enregistrées par l'utilisateur, pour ne pas avoir à retaper toutes les autres informations.
Si quelqu'un a la solution...
Merki beaucoup..
En fait je ne souhaite poser une seule condition ! si il n'y a pas de nom ( si l'utilisateur a oublié de le rentrer) je voudrais ( comme je l'ai fait) qu'une boite de dialogue s'affiche puis me fasse revenir sur le formulaire, tout en ayant conserver les données qui avaient été enregistrées par l'utilisateur, pour ne pas avoir à retaper toutes les autres informations.
Si quelqu'un a la solution...
Merki beaucoup..
le plus simple c'est d'utiliser des champs cachés qui contiennent les valeurs precedemment postées et que tu recupere simplement si y'a une erreur.
Les sessions peuvent etre utilisées mais dans le cas de grosse variables ( commentaire ,texte etc..) c'est pas le pied à moins de les passer dans un tableau serializé que tu unserialize pour les récuperer
Les sessions peuvent etre utilisées mais dans le cas de grosse variables ( commentaire ,texte etc..) c'est pas le pied à moins de les passer dans un tableau serializé que tu unserialize pour les récuperer
Personne d'autre a une solution...? svp...
Dans ce cas là, tan pis pour le user qui oublie de marquer le nom ! faudra qu'il retape tout !! ^^
Dans ce cas là, tan pis pour le user qui oublie de marquer le nom ! faudra qu'il retape tout !! ^^
Ben moi j'aurai traité le formulaire avant de le soumettre, en javascript, plutot que de le soumettre, puis vérifier les données ...
mais bon après tu fais comme tu veux ^^
mais bon après tu fais comme tu veux ^^
D'autant plus qu'en Javascript tu as pas mal de code libres de droits que les mecs laissent à qui veut...
me revoilou.
Il est evident qu'en JS le controle de la validité des champs peut se faire, quand je parlais de champs caché c'est pour revenir en arriere et recuperer les données précedemment saisies.
Donc si tu prefère du JS voila un ptit code (je ne te met que 2 champs la suite est identique faut juste changer les nom des document)
et dans un fichier JS (ou à la sauvage entre <head> et </head>)
tu fait ta fonction verif_champ();
Il est evident qu'en JS le controle de la validité des champs peut se faire, quand je parlais de champs caché c'est pour revenir en arriere et recuperer les données précedemment saisies.
Donc si tu prefère du JS voila un ptit code (je ne te met que 2 champs la suite est identique faut juste changer les nom des document)
<form id="form1" name="form1" method="get" action="enreg1.php" onsubmi="return verif_champ(); > <label>Nom :</label><input type="text" name="nom" id="nom" value="" /><br/> <label>Préom :</label><input type="text" name="prenom" id="nom" value="" /> </form>
et dans un fichier JS (ou à la sauvage entre <head> et </head>)
tu fait ta fonction verif_champ();
function verif_champ()
{
var nom=document.getElementById("nom").value; /*valeur du champ nom*/
var prenom=document.getElementById("prenom").value; /*valeur du champ prenom*/
var err=''; /*initailisation de la variable qui permet de savoir si ya une erreur*/
if(!nom)
{
err=err+ 'Vous n\'avez pas remplis votre nom \r\n';
}
elseif(!prenom)
{
err=err+ 'Vous n\'avez pas remplis votre prenom \r\n';
}
/*on verifie l'etat de err*/
if(err=='')
{
return true;
}
else
{
/*ya des erreurs soit tu fait un alert soit tu marque dans un Div avec innerHTML
alert(err);
return false;
}
}