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 08/03/2011, 20h25   #1
Invité de passage
 
Fausto Paquin
Inscription : novembre 2009
Messages : 11
Détails du profil
Informations personnelles :
Nom : Fausto Paquin

Informations forums :
Inscription : novembre 2009
Messages : 11
Points : 1
Points : 1
Par défaut Eviter une resoumission du formulaire

Bonjour,

<p>J'ai sur une page plusieurs lien vers des sites externes. Quand le membre clique sur le bouton inscription, je fais une validation que le bouton a été cliquer ensuite je fais un update sur une bd mysql et ouvre une nouvelle fenêtre vers un lien externe. Le pb est que si le client fait un refresh, un update de la bd va être refait.</p>

Merci.
Fichiers attachés
Type de fichier : txt submit.txt (3,4 Ko, 3 affichages)
fpaquin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2011, 20h40   #2
Membre Expert
 
Inscription : septembre 2010
Messages : 1 239
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 1 239
Points : 1 561
Points : 1 561
Suite à l'enregistrement en bdd tu peux passer par un header pour ré afficher ta page.
__________________
- Réalisations
- Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical.
ABCIWEB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2011, 20h54   #3
Invité de passage
 
Fausto Paquin
Inscription : novembre 2009
Messages : 11
Détails du profil
Informations personnelles :
Nom : Fausto Paquin

Informations forums :
Inscription : novembre 2009
Messages : 11
Points : 1
Points : 1
Merci. Je vais tester.
fpaquin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2011, 22h39   #4
Invité de passage
 
Fausto Paquin
Inscription : novembre 2009
Messages : 11
Détails du profil
Informations personnelles :
Nom : Fausto Paquin

Informations forums :
Inscription : novembre 2009
Messages : 11
Points : 1
Points : 1
Bonjour,

Ca fonctionne mais ce n'est pas ce que je veux car j'ai déjà une redirection.

Code :
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
 
if (isset($_POST['Submit']))
 {
$url=$_POST['url_concours'];
$mois=date("m");
$id=($_POST['pid_concours']);
$idc=($_POST['id_concours']);
$type=$_POST['type_concours'];
$login=$_POST['login'];
$url=$_POST['url_concours'];
 
 
 
 
If($type=='Unique')
{
 
mysql_query("INSERT INTO perso_back(pid_concours,rpseudo,dateparticipation)(SELECT * from perso WHERE pid_concours='$id')");
mysql_query("Update perso_back  SET  dateparticipation=DATE_ADD(now(),interval 0 day) WHERE pid_concours='$id' Limit 1");
mysql_query("Update perso SET  compteur=2 WHERE pid_concours='$id'");
}
 
 
if ($type=="Journalier")
{
mysql_query("UPDATE perso SET dateparticipation=DATE_ADD(dateparticipation,INTERVAL 1 day) WHERE pid_concours='$id'") or die(mysql_error());
//mysql_query("UPDATE perso SET compteur=0 WHERE pid_concours='$id'") or die(mysql_error());
}
if($type=="Hebdomadaire")
mysql_query("UPDATE perso SET dateparticipation=DATE_ADD(CURDATE(), INTERVAL 7 day) WHERE pid_concours='$id'") or die(mysql_error());
 
if($type=="Mensuel") 
{
	if($mois=='04' || $mois=='06' || $mois=='09' || $mois=='11')
	{
		mysql_query("UPDATE perso SET dateparticipation=DATE_ADD(CURDATE(), INTERVAL 30 day)WHERE pid_concours='$id'") or die(mysql_error());
	}
	if($mois=='01' || $mois=='03' || $mois=='05' || $mois=='07' || $mois=='08' || $mois=='09' || $mois=='10' || $mois=='12')
    {
	mysql_query("UPDATE perso SET dateparticipation=DATE_ADD(CURDATE(), INTERVAL 31 day)WHERE pid_concours='$id'") or die(mysql_error());
    }
	if($mois=='02')
	{
	mysql_query("UPDATE perso SET dateparticipation=DATE_ADD(CURDATE(), INTERVAL 28 day)WHERE pid_concours='$id'") or die(mysql_error());
	}
}
 
//Redirection vers un lien externe
echo "<SCRIPT LANGUAGE=Javascript>
window.open('$url','_blank')// ouverture du lien dans une autre fenetre
 </SCRIPT>";
 
 
}
fpaquin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2011, 22h50   #5
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Fais la redirection vers une page qui ouvre ta pop-up.

L'autre solution est d'utiliser une session pour marquer si l'INSERT a déjà été fait ou non.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h58.


 
 
 
 
Partenaires

Hébergement Web