PHWinfo banniere

Titres
PORTAIL ANNUAIRE ARTICLES COMPARATEUR HÉBERGEURS DEVIS FORUMS RÉDUCTEUR D'URL
Précédent   PHWinfo > Autres forums > Forum Programmation & Conception > fr.comp.lang.php > formulaire php
S'inscrire FAQ Membres Recherche Messages du jour Marquer les forums comme lus
formulaire php

Réponse
 
LinkBack Outils de la discussion
Vieux 05/10/2007, 07h20   #1 (permalink)
yoyo@invalid.fr
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut formulaire php

Bonjour,

voilà j'ai un petit soucis avec mes formulaire php en méthode post

je procède de cette manière :

un fichier formulaire.html qui remvoit via le post à form_formulaire.php qui
vérifie les données avant de les insérrer dans le base si le post.

exemple :

if($_Post['nom']{

$nom=$_Post['nom'];


$requete

echo " message de reusite");

}

tout fonctionne mais j'ai juste un soucis si l'internaute rafraichis la page
j'ai une nouvelle insertion.

comment évité ce genre de problème
  Réponse avec citation
Vieux 05/10/2007, 08h26   #2 (permalink)
Bruno Desthuilliers
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: formulaire php

yoyo@invalid.fr a écrit :
> Bonjour,
>
> voilà j'ai un petit soucis avec mes formulaire php en méthode post
>
> je procède de cette manière :
>
> un fichier formulaire.html qui remvoit via le post à form_formulaire.php qui
> vérifie les données avant de les insérrer dans le base si le post.
>
> exemple :
>
> if($_Post['nom']{
>
> $nom=$_Post['nom'];
>
>
> $requete
>
> echo " message de reusite");
>
> }
>
> tout fonctionne mais j'ai juste un soucis si l'internaute rafraichis la page
> j'ai une nouvelle insertion.
>
> comment évité ce genre de problème


1/ En faisant un redirect après le traitement - ça n'empèche pas
totalement les soumissions multiples, mais ça limite les risques.

2/ En incluant dans le formulaire (dans un champ hidden) un identifiant
unique autogénéré (lors du premier affichage du formulaire uniquement,
of course), correspondant à un champ de la base ayant une contrainte
d'unicité. Ce qui permet de détecter sans ambiguité une re-soumission
accidentelle.

Attention, seule le second point assure une réelle sécurité.
  Réponse avec citation
Vieux 05/10/2007, 08h26   #3 (permalink)
CrazyCat
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: formulaire php

yoyo@invalid.fr wrote:
> tout fonctionne mais j'ai juste un soucis si l'internaute rafraichis la page
> j'ai une nouvelle insertion.
> comment évité ce genre de problème


Problème débattu maintes fois.
Les solutions les plus simples sont:
- que la page form_formulaire.php fasse, après traitement des données,
une redirection vers une autre page,
- que ta page de formulaire initie une session qui sera détruite par la
page form_formulaire après traitement...

--
Discussions et débats sur l'actualité: http://www.sujets-d-actu.eu
Réseau IRC Francophone: http://www.crazy-irc.net
  Réponse avec citation
Vieux 05/10/2007, 08h26   #4 (permalink)
Mihamina Rakotomandimby
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: formulaire php

yoyo@invalid.fr wrote:
> Bonjour,


Bonjour,

> un fichier formulaire.html qui remvoit via le post à form_formulaire.php qui
> vérifie les données avant de les insérrer dans le base si le post.
>[...]
> tout fonctionne mais j'ai juste un soucis si l'internaute rafraichis la page
> j'ai une nouvelle insertion.
> comment évité ce genre de problème?


Puisque form_formulaire.php "vérifie", ajoute une vérification
supplémentaire?
Dis nous dans quoi sont stockés les données, tu pourrais ajouter la date
d'insertion et l'IP et si la meme IP soumet trop vite avec les memes
données, tu refuses.

Sinon, j'ai bien une idée mais en Javascript, donc hors charte.
  Réponse avec citation
Vieux 05/10/2007, 08h35   #5 (permalink)
Olivier Miakinen
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: formulaire php

Le 05/10/2007 08:20, yoyo@invalid.fr a écrit :
> Bonjour,


Bonjour. Je profite de ton article pour te signaler que ton adresse,
visiblement invalide, devrait être déclarée dans le nom de domaine de
premier niveau « invalid », réservé à cet effet, et pas dans celui de
second niveau « invalid.fr ».

Donc par exemple : yoyo@fr.invalid

(Par ailleurs une adresse valide dans le champ Reply-To permettrait de
te répondre en privé sans pour autant fournir cette adresse à l'immense
majorité des spammeurs.)

> voilà j'ai un petit soucis avec mes formulaire php en méthode post
>
> je procède de cette manière :
>
> un fichier formulaire.html qui remvoit via le post à form_formulaire.php qui
> vérifie les données avant de les insérrer dans le base si le post.


.... si le post ?

> exemple :
>
> if($_Post['nom']{
> $nom=$_Post['nom'];
> $requete
> echo " message de reusite");
> }


Il manque quelques parenthèses, et il y a un problème de casse avec le
nom de la variable $_POST. Je suppose que ton script n'est pas comme ça,
car sinon il plantera immédiatement. Note qu'un copier-coller depuis le
script aurait, du coup, été préférable.

> tout fonctionne mais j'ai juste un soucis si l'internaute rafraichis la page
> j'ai une nouvelle insertion.
>
> comment évité ce genre de problème


C'est plutôt une question de technique de programmation avec les bases
de données qu'une question de PHP, et j'imagine qu'un meilleur groupe
aurait été fr.comp.applications.sgbd. Mais à priori la réponse doit être
de trouver un identifiant unique pour la table, qui dépendra des données
saisies, au lieu de choisir un entier incrémenté automatiquement.
  Réponse avec citation
Vieux 05/10/2007, 08h59   #6 (permalink)
yoyo@invalid.fr
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: formulaire php

CrazyCat wrote:

> yoyo@invalid.fr wrote:
>> tout fonctionne mais j'ai juste un soucis si l'internaute rafraichis la
>> page j'ai une nouvelle insertion.
>> comment évité ce genre de problème

>
> Problème débattu maintes fois.
> Les solutions les plus simples sont:
> - que la page form_formulaire.php fasse, après traitement des données,
> une redirection vers une autre page,
> - que ta page de formulaire initie une session qui sera détruite par la
> page form_formulaire après traitement...
>



ok!! mais dans ce cas là il faut que je prévoit une session, même si c'est
une page grand public qui ne nécessite pas d'autenfification.
  Réponse avec citation
Vieux 05/10/2007, 09h05   #7 (permalink)
yoyo@invalid.fr
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: formulaire php

Mihamina Rakotomandimby wrote:

> yoyo@invalid.fr wrote:
>> Bonjour,

>
> Bonjour,
>
>> un fichier formulaire.html qui remvoit via le post à form_formulaire.php
>> qui vérifie les données avant de les insérrer dans le base si le post.
>>[...]
>> tout fonctionne mais j'ai juste un soucis si l'internaute rafraichis la
>> page j'ai une nouvelle insertion.
>> comment évité ce genre de problème?

>
> Puisque form_formulaire.php "vérifie", ajoute une vérification
> supplémentaire?
> Dis nous dans quoi sont stockés les données, tu pourrais ajouter la date
> d'insertion et l'IP et si la meme IP soumet trop vite avec les memes
> données, tu refuses.
>

dans une BDD, en effet j'avais pas pensé au coup de l'ip.

> Sinon, j'ai bien une idée mais en Javascript, donc hors charte.

oui en effet mais cela peux être désativé.
  Réponse avec citation
Vieux 05/10/2007, 09h45   #8 (permalink)
CrazyCat
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: formulaire php

yoyo@invalid.fr wrote:
>> - que ta page de formulaire initie une session qui sera détruite par la
>> page form_formulaire après traitement...

> ok!! mais dans ce cas là il faut que je prévoit une session, même si c'est
> une page grand public qui ne nécessite pas d'autenfification.


Et alors? ce n'est pas un problème. Beaucoup de sites utilisent des
sessions pour transmettre des informations d'une page à une autre.

session ne signifie pas authentification, c'est juste une variable
temporaire.

--
Discussions et débats sur l'actualité: http://www.sujets-d-actu.eu
Réseau IRC Francophone: http://www.crazy-irc.net
  Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +1. Il est actuellement 11h01.


Édité par : vBulletin® version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
PHWinfo est un site Éducation Sans Frontières
Ad Management by RedTyger
©Tous droits réservés par les parties respectives
Page generated in 0,17882 seconds with 16 queries