Actualiser une page faisant un INSERT INTO - PHP - Programmation
Marsh Posté le 13-10-2002 à 13:15:39
si l'utilisateur fait un "post", il clique certtainement sur un bouton non ?
donc teste si la valeur du bouton existe :
Code :
|
Marsh Posté le 13-10-2002 à 13:32:05
ethernal a écrit a écrit : si l'utilisateur fait un "post", il clique certtainement sur un bouton non ? donc teste si la valeur du bouton existe :
|
Je vais tester ça.
Marsh Posté le 13-10-2002 à 14:09:02
je ne pense que ca fonctionne, les donnees du post sont toujours la.
Une solution pratique est une page php qui gere tt les traitements (insert ...) et puis redirige vers les pages d'affichage.
Marsh Posté le 13-10-2002 à 14:28:04
T'as une solution simple qui consiste à faire une condition devt l'Insert
if($action=='insérer'
{
Insert(blabla);
$action='0'; // Comme ça tu réinitialise ta variable
}
Après dans ton Form de la page précédente tu mets ton Url de post suivi de ?action=inserer
Je pense que ça devrait marcher
Edit : En fait non ça marchera pas
Autre piste :
Pourquoi ne pas générer une variable aléatoire dans ton formulaire. Cette variable tu la postes dans un champs de ta table et dans ta page qui traite l'Insert, tu fais une vérification sur ce champs dans ta table et si il existe tu empèche l'Insert de se faire.
Marsh Posté le 13-10-2002 à 14:59:14
Format_C a écrit a écrit : T'as une solution simple qui consiste à faire une condition devt l'Insert if($action=='insérer' { Insert(blabla); $action='0'; // Comme ça tu réinitialise ta variable } Après dans ton Form de la page précédente tu mets ton Url de post suivi de ?action=inserer Je pense que ça devrait marcher Edit : En fait non ça marchera pas Autre piste : Pourquoi ne pas générer une variable aléatoire dans ton formulaire. Cette variable tu la postes dans un champs de ta table et dans ta page qui traite l'Insert, tu fais une vérification sur ce champs dans ta table et si il existe tu empèche l'Insert de se faire. |
Cette solution marchera (je parle de la dernière que tu proposes), mais elle oblige à documenter un champ "bidouille" dans la table. Je pense que je vais me rabattre sur une solution classique en deux fichiers, et appel à la fonction header.
Marsh Posté le 13-10-2002 à 15:57:51
beleg a écrit a écrit : je ne pense que ca fonctionne, les donnees du post sont toujours la. Une solution pratique est une page php qui gere tt les traitements (insert ...) et puis redirige vers les pages d'affichage. |
ouai bon j'ai pas été complet...
Code :
|
la soluce avec 2 pages est bien aussi...
Marsh Posté le 13-10-2002 à 17:33:19
ReplyMarsh Posté le 13-10-2002 à 17:54:34
Oui, le problème est résolu, grâce à la directive
Code :
|
Marsh Posté le 13-10-2002 à 11:18:49
Je suis en train de faire un script tout bête.
Une formulaire envoie des informations par POST au fichier courant pour qu'il les traite ($PHP_SELF) : un INSERT dans la base. Seulement voilà, à chaque fois que l'utilisateur frappe F5, je me retrouve avec un nouvel enregistrement dans la base, ce qui est idiot. Y a t'il un moyen propre, sans utiliser plusieurs fichiers PHP ?
---------------
Le site de ma maman