voila mon form envoie des donnees dans une base .
j aimerai savoir si c est possible de vider le formulaire apres envoi pour eviter que les donnees soient renvoyees une deuxieme fois quand on clique sur le bouton actualiser du navigateur.
merci
voila mon form envoie des donnees dans une base .
j aimerai savoir si c est possible de vider le formulaire apres envoi pour eviter que les donnees soient renvoyees une deuxieme fois quand on clique sur le bouton actualiser du navigateur.
merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part document.forms[0].reset()
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag
Venez sur le Chat de Développez !
Je pense que la technique pour empecher l'actualisation ne se fait pas au niveau client mais plutot au niveau serveur.
Si tu utilise PHP ... j'ai une solution.
Service Internet France
Création et hébergement de sites Internet
oui j utilise PHP pout renseigner la base
est ce que je peux avoir ta solution?
meerci
ben niveau javascript il suffit de vider le formulaire et de masque le bouton submit ...
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag
Venez sur le Chat de Développez !
comment tu veux faire cela
parce que moi je l ai fait mais cela ne fonctionne pas du tout
parce que j envoie les donnees sur la base
j aimerai bien que tu m explique comment tu t y prends pour ça?
Au niveau PHP,
tu créée un champ caché dans ton formulaire, qur tu initialise avec le datetime du moment.
Puis dans ton php qui receptionne le formulaire tu fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <input type="hidden" name="verif_post" value="<? time(); ?>" />
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 session_start(); if($_SESSION['verif_post'] == $_POST['verif_post']) die('Rafraichissement interdit'; $_SESSION['verif_post'] = $_POST['verif_post'];
Don si ta page de de validation de formulaire est actualisée ... il y aura une erreur de rafraichissement.
Service Internet France
Création et hébergement de sites Internet
fais voir la tête de ton form ...
en simplifié (pas 18000 lignes ...)
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag
Venez sur le Chat de Développez !
voici le
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 <html> <head> <script language="javascript" type="text/javascript" src="controle.js"></script> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css"> <!-- body,td,th { color: #993333; font-weight: bold; font-family: Verdana, Arial, Helvetica, sans-serif; } body { background-color: #FFCC33; } --> </style></head> <body> <form id="identifiant" action="index.php" method="POST" align="center" valign="middle" onSubmit="return controle();"> <table align="center" bordercolor="#FF6633"> <tr><td>Identifiant</td><td> <input name="login" type="text" maxlength="40"> </td> </tr> <tr><td>Mot de Passe</td><td> <input type="password" name="mpasse" maxlength="32" ></td></tr> <tr><td>E-Mail</td><td> <input name="email" type="text" maxlength="50"></td></tr> <tr><td><input type="submit" name="JesuisLa" value="Envoyer"></td><td> <input type="reset" name="saluton" value="Annuler"></td></tr> </table> </form> </body> </html>
j essai ton code AurelBUD
Et je te dis ce qu il en est .
et tu le rend visible à nouveau si la focntin test sur le onsubmit te retourne false...
Code : Sélectionner tout - Visualiser dans une fenêtre à part <input type="submit" id="JesuisLa" value="Envoyer" onclick='this.style.visibility='hidden' >
et dans le onload de la page
ça devrait faire l'affaire ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part <body onload="document.forms[0].reset()" >
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag
Venez sur le Chat de Développez !
SpaceFrog ton code ne fonctionne pas .
il en est de meme pour AurtelBUD
Montre comment tu l'as implémenté parce que chez moi ca fonctionne ...
Service Internet France
Création et hébergement de sites Internet
AurelBUD ton second je l'inserer où?
parce que j ai essaye trois niveau differents et c est toujours un parse error
Oui j ai oublié une parenthèse à la fin du die ...
Service Internet France
Création et hébergement de sites Internet
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84 <?php // connection a la base en local include ("../Configuration/connexionIdentifiant.php"); if (isset($_POST['login']) && isset($_POST['mpasse']) && isset($_POST['email']) ) { $login= $_POST['login']; $mpasse= $_POST['mpasse']; $email= $_POST['email']; if (empty($login) || empty($mpasse) || empty($email)) { echo "Veillez remplir les champs s'il vous plait";} else{ mysql_query(" INSERT INTO identifiant SET login='$login',mpasse='$mpasse',email='$email'"); //header("Location: http://127.0.0.1/controle/index.php"); //exit; echo mysql_error(); } } session_start(); if($_SESSION['verif_post'] == $_POST['verif_post']) die('Rafraichissement interdit'; $_SESSION['verif_post'] = $_POST['verif_post']; $resultat=mysql_query("SELECT DISTINCT login,mpasse,email FROM identifiant ORDER BY login"); echo mysql_error(); mysql_close(); ?> <html> <head> <style type="text/css"> <!-- body,td,th { font-family: Verdana, Arial, Helvetica, sans-serif; color: #993333; font-weight: bold; font-size: 10px; } body { background-color: #FFCC66; } .Style1 {color: #CC0000} --> </style> <title>Liste des Utilisateurs</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script language="text/javascript" src="controle.js" ></script> <!-- <meta http-equiv="refresh" content="2; url=http://127.0.0.1/Amis/contacts.php"> --> </head> <body onLoad="document.forms[0].reset()"> <a href="formIdentifiant.php">Ajouter un Utilisateur</a> <table width="334" height="37" border="1" align="center" bordercolor="#FF0066" bgcolor="#FFFFFF"> <tr bgcolor="#FFFFFF"> <td width="30" height="31"><span class="Style1">Login</span></td> <td width="47"><span class="Style1">Mot de Passe</span></td> <td width="33"><span class="Style1">E-Mail</span></td> <?php while ($ligne =mysql_fetch_array($resultat)) { $login = $ligne["login"]; $mpasse = $ligne["mpasse"]; $email = $ligne["email"]; echo "<tr>"; echo "<td>".$login."</td>"; echo "<td>".$mpasse."</td>"; echo "<td><a href='<?php echo $email; ?>'> Ecrire à $login<td width='196'></td>"; echo "</tr>"; } ?> </table> <a href="form_Identifiant.thml">Ajout un Utilisateur</a> </body> </html> <?php mysql_free_result($resultat); ?>
Il manque toujours la parenthes à la fin du die !!!
Service Internet France
Création et hébergement de sites Internet
super man
La je te dis Chapeau
je ne sais pas si tu fan de bob marley ou pas
YEAH RASTAFARI
je crois que je me suis emflamme un peu vite mais ça ne fonctionne toujours pas .
c est quand je suis retourne sur la gestion de base données il m a enregistrer dix fois le meme tuple
mais comme dans ma requete de SELECT j ai mis distinct je ne pouvais pas voir ça .
en fait il remplit la base mais cela ne se voit pas sur la page qu on renvoie.
je pense que je vais rester sur mon ancien code qui consiste a faire un header("Location: nom_du_site/nom_de_la_page.php");
merci en tout cas d avoir essayer c etait sympa de votre part .
slaut et bonne fin de matinee
Oui c est normal que ton code ne fonctionne pas car tu fais ta requete INSERT avant de tester ta variable POST.
Le test est la premiere chose que tu dois faire. Avant meme la connexion à la base.
Service Internet France
Création et hébergement de sites Internet
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager