IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Empécher les doublon avec les post


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de Death83
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 667
    Par défaut Empécher les doublon avec les post
    Salut a tous,

    je suis sur que ce sujet a déja été abordé mais je n'en ai pas trouvé de trace.

    Je voulais savoir comment il fallait faire pour éviter l'execution multipe de page qui récupert les donné des formulaires.

    Mettons qu'un personne valide le formulaire, et qu'elle arrive sur une page qui envoie les données. Si elle raffrachie la page les données seront renvoyées une seconde fois. Comment éviter celà?

  2. #2
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    En effet, le sujet revient souvent, tu peux peut-être tester dans la BDD si les données ont déjà été saisies (ça dépend de la base).

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    842
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 842
    Par défaut
    Certaines applications (genre un forum phpBB) passent par une page intermédiaire puis redirigent vers la page voulue. Ainsi, le raffraichissement de la dernière page ne renvoie pas les données. Autrement, on peut stocker un nombre dans la session qu'on joindra à toutes les requêtes, genre actionid=123456. On ne validera que les requêtes correspondant au bon actionid et on incrémentera ce nombre de 1 à chaque fois. Ainsi si une action n'a pas le bon actionid c'est qu'elle a été effectuée depuis une "ancienne" page. Cette solution est particulièrement problématique lorsque l'utilisateurs navigue avec plusieurs fenêtres/onglets, où qu'il utilise beaucoup les retours en arrière.

  4. #4
    Membre éprouvé Avatar de Death83
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 667
    Par défaut
    Ouais mais dans certains c'est lourd de rediriger a chaque fois. J'ai deja vu des sites ou l'envoie sur faisait sur la meme page et les doublons n'tait pas prix en compte.

    Le probleme est avec les id qui s'autoincrement dans la BDD. Il faudrait pouvoiir effacer les variable post.

  5. #5
    Membre émérite
    Avatar de Linaa
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    987
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 987
    Par défaut
    Après avoir fait ton traitement, tu peux supprimer le contenu de la variable $_POST


  6. #6
    Membre éprouvé Avatar de Death83
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 667
    Par défaut
    Je vais essayer pour voir.

    En fait le problème est toujours la avec les pages intermédiaire. Car mettons que l'utilisateur est redirigé et qu'il reviennent en arrière, il retombera quand meme sur la page. Vous pouvez essayer avec phpbb, et en revenant en arrière le message n'est pas reposté.

    Normalement le navigateur informe qu'il y a des donné et il demande si on souhaite les utilisé ou pas. Mais la phpbb ne demande rien, elle ont sans doute été effacé. Peut etre de la manière dont tu parle. Je vais voir ca tout de suite.

  7. #7
    Membre émérite
    Avatar de Linaa
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    987
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 987
    Par défaut
    Après la validation, tu rediriges vers une autre page

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (isset($_POST)) 
       echo '<meta http-equiv="Refresh" content="5;url=autre_page" />';

Discussions similaires

  1. Réponses: 7
    Dernier message: 20/11/2012, 15h24
  2. Réponses: 2
    Dernier message: 20/01/2012, 11h03
  3. afficher les doublons avec mysql
    Par oceanbigone dans le forum Requêtes
    Réponses: 10
    Dernier message: 02/10/2006, 16h57
  4. doublons avec les expressions régulières
    Par Mister Nono dans le forum Langage
    Réponses: 8
    Dernier message: 16/09/2006, 13h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo