PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 03-06-2009 12:52:36

Wolfen38
Membre
Inscription : 03-06-2009
Messages : 8

[Résolu] Réinitialiser valeur formulaire après envoi.

Bonjour à tous.

Voila mon problème :

j'ai deux pages en php. Une est un formulaire de renseignements. L'autre me permet d'envoyer les infos du formulaire vers ma bdd puis d'afficher ma table dans un tableau.

Quand quelqu'un remplit le formulaire, les infos vont bien dans ma bdd puis réapparaissent bien dans mon tableau. Jusque là, tout va bien.

Mais si cette personne ré actualise la page où il y a le tableau (donc la page où y a le code pour envoyer les infos à la BDD), les valeurs du formulaires s'enregistrent à nouveaux dans la bdd, et ça, autant de fois que la personne fait actualiser....

Donc là, ça va plus.

Que puis je faire pour règler c problème....

Merci.

Hors ligne

#2 03-06-2009 13:21:53

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : [Résolu] Réinitialiser valeur formulaire après envoi.

Saluton,
Est-ce que tout cela se passe dans le cadre d'une session ?
Si c'est le cas il suffit de mettre un drapeau dans une variable de session.
Sinon il faut tester qu'aucune des id des zones de saisie n'est isset() dans $_REQUEST ou $_POST ou $GET, je ne sais pas quelle méthode emploie le formulaire.
Le formulaire devrait, de toute façon, avoir une méta balise no-cache.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#3 03-06-2009 13:34:05

Wolfen38
Membre
Inscription : 03-06-2009
Messages : 8

Re : [Résolu] Réinitialiser valeur formulaire après envoi.

Merci pour ta réponse, mais là, tu me causes un peu comme à un pro.............................. que je ne suis pas ! ! !

Si tu entends par session, le fait que la personne est enregistrée avec nom d'utilisateur et mot de passe, non, ce n'est pas le cas.

Mon code est comme ça :

//RECUPERATION DES DONNEES
$nom="0";
$chien="0";
$jour="0";

if(isset($_POST['nom']))      $nom=$_POST['nom'];
else      $nom="";

if(isset($_POST['chien']))      $chien=$_POST['chien'];
else      $chien="";

if(isset($_POST['jour']))      $jour=$_POST['jour'];
else      $jour="";

$query="INSERT INTO obdirige (nom,chien,jour) VALUES ('$nom','$chien','$jour')";
mysql_query($query) or die('Erreur SQL !'.$query.'<br>'.mysql_error());

ca t'aide ?

Hors ligne

#4 03-06-2009 14:15:22

Alnoss
Modérateur absent
Lieu : 06 - PACA
Inscription : 11-05-2009
Messages : 541
Site Web

Re : [Résolu] Réinitialiser valeur formulaire après envoi.

Bonjour,

Le fait d'aborder les sessions n'est pas un discours de "pro".
En ce qui concerne ton script, tu ne fais pas appel aux sessions car tes variables proviennent apparemment directement d'un formulaire.

Maintenant, tu peux faire plusieurs choses pour éviter ton double enregistrement :
- AVANT l'enregistrement, vérifier que l'array {nom;chien;jour} n'existe pas déjà. [dédoublement préventif]
- Au moment de l'enregistrement, faire une requête pour supprimer les lignes identiques de ta base [dédoublement curatif]

OU ALORS,  tu passes par une page de confirmation [du style : "enregistrement terminé" pendant 2 sec] qui redirige automatiquement vers ta page d'affichage du tableau. Ainsi, même si tu rafraichis la dernière page, ce ne sera que celle d'affichage et non de script d'enregistrement.

Mais ne te braque pas en ce qui concerne les propos soit disant "pro" [qui ne le sont pas du tout] Il faut un minimum de connaissance pour avancer. Courage, ce n'est que le début wink


MERCI de lire le mode d'emploi avant de poster !!

Hors ligne

#5 03-06-2009 14:36:26

Wolfen38
Membre
Inscription : 03-06-2009
Messages : 8

Re : [Résolu] Réinitialiser valeur formulaire après envoi.

Merci pour ta réponse.

T'inquiètes, je me braque pas, c'était juste une plaisanterie pour expliquer mon tout petit niveau de débutant.

Je n'ai aucune base, je vais juste à taton, en copiant des bouts de code à droite à gauche et en essayant de les piger, de voir ce qu'ils donnent... mais bon, je reste assez limité en la matière, du coup, quand ça ne roule plus, je suis vite dépassé....

Ta deuxième solution ma plait plus (puis je pense la comprendre dans le principe).

Donc pour le moment, quand la personne valide le formulaire, il est automatiquement redirigé vers la page où j'ai le tableau d'affichage + le code d'envoi à la bdd.

Ce que tu me dis, si je te comprends, c'est de faire une nouvelle page où la personne serait redirigé après validation du formulaire, puis qui après qlq secondes basculerait toute seule sur ma page avec tableau + codde BDD ?

C'est bien ça ?

Je dois y mettre quoi dans cette nouvelle page de transition ? Des codes particuliers ?

Dernière modification par Wolfen38 (03-06-2009 14:39:01)

Hors ligne

#6 03-06-2009 16:12:46

Alnoss
Modérateur absent
Lieu : 06 - PACA
Inscription : 11-05-2009
Messages : 541
Site Web

Re : [Résolu] Réinitialiser valeur formulaire après envoi.

Oui, c'est exactement cela ! Et cela est facilement faisable grâce à cette petite ligne


<META HTTP-EQUIV=REFRESH CONTENT="ici le temps;url=ici l'url">
 

Par contre, je vois + ton code bdd dans cette page, afin de ne pas alourdir celle d'affichage du tableau.

Une tendance existe : faire une page "fonction.php" ou "requete.php" avec ce genre de chose, et toutes les requêtes 'update' dedans avec des conditionnelles. Cela permet d'avoir une page qui regroupe tout, et la redirection qui rends la transparente.

Bien évidement, il y a plein d'autres solutions...


MERCI de lire le mode d'emploi avant de poster !!

Hors ligne

#7 04-06-2009 07:02:37

Wolfen38
Membre
Inscription : 03-06-2009
Messages : 8

Re : [Résolu] Réinitialiser valeur formulaire après envoi.

Ok, je pense avoir compris, je vais essayer celà.

Merci bcp pour ton aide.

Hors ligne

#8 04-06-2009 07:19:08

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : [Résolu] Réinitialiser valeur formulaire après envoi.

Rappel:

<meta http-equiv="EXPIRES" content="0">
<meta http-equiv="Pragma" content="no-cache">

Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#9 04-06-2009 09:24:22

Wolfen38
Membre
Inscription : 03-06-2009
Messages : 8

Re : [Résolu] Réinitialiser valeur formulaire après envoi.

Euh, c'est quoi ce code ?

Ca sert à quoi ? Je le mets où ?

Hors ligne

#10 04-06-2009 09:55:26

Alnoss
Modérateur absent
Lieu : 06 - PACA
Inscription : 11-05-2009
Messages : 541
Site Web

Re : [Résolu] Réinitialiser valeur formulaire après envoi.

Fait un peu un effort !!! une simple recherche dans google t'aurait permis de pas poser une sottise pareille

Rien que le <meta> devrait te mettre sur la voie... il s'agit de metatags...

Allé !! Au boulot !!


MERCI de lire le mode d'emploi avant de poster !!

Hors ligne

#11 04-06-2009 10:00:04

Wolfen38
Membre
Inscription : 03-06-2009
Messages : 8

Re : [Résolu] Réinitialiser valeur formulaire après envoi.

Oui, j'ai mis ces codes en début de ma page avec les autres meta, mais ça ne change rien du tout, d'où ma sotte question big_smile

Pas grave, je vais essayer la technique de la page intermédiaire, on verra bien....

Hors ligne

#12 04-06-2009 10:35:40

Alnoss
Modérateur absent
Lieu : 06 - PACA
Inscription : 11-05-2009
Messages : 541
Site Web

Re : [Résolu] Réinitialiser valeur formulaire après envoi.

Explique toi : tu as mis quelle ligne ?

Petit détail : la redirection est justement la technique de la page intermédiaire wink


MERCI de lire le mode d'emploi avant de poster !!

Hors ligne

#13 04-06-2009 10:56:26

Wolfen38
Membre
Inscription : 03-06-2009
Messages : 8

Re : [Résolu] Réinitialiser valeur formulaire après envoi.

Bah j'ai mis les 2 lignes donné par Maljuna Kris dans l'entête de ma page où j'ai mon code d'insertion dans la bdd + tableau d'affichage.

Je n'ai pas encore eu le temps de faire le système avec page intermédiaire.

Hors ligne

#14 04-06-2009 12:43:03

Wolfen38
Membre
Inscription : 03-06-2009
Messages : 8

Re : [Résolu] Réinitialiser valeur formulaire après envoi.

Bon, j'ai mis en place le système avec page intermédiaire et ça marche nickel.

Merci à vous tous.

Hors ligne

#15 04-06-2009 13:07:07

Alnoss
Modérateur absent
Lieu : 06 - PACA
Inscription : 11-05-2009
Messages : 541
Site Web

Re : [Résolu] Réinitialiser valeur formulaire après envoi.

y'a pas de quoi wink


MERCI de lire le mode d'emploi avant de poster !!

Hors ligne

Pied de page des forums