Php

Résolu
jerem1985 Messages postés 68 Statut Membre -  
jerem1985 Messages postés 68 Statut Membre -
Bonjour,

voila mon mes ti problemes
j'ai un formulaire html qui envoye des données dans un script php permettant d'ajouter ces infos dans une base de donnée.
probleme 1 comment faire pour que mon script php une fois l'ajout en bdd effectuer me redirige sur une page html
probleme 2 comment faire pour que lorsque l'on appuye sur actualiser sa n'ajoute pas de donnée

merci d'avance
Configuration: Windows XP
Firefox 3.0.10

3 réponses

  1. jerem1985 Messages postés 68 Statut Membre 2
     
    resolu avec un header dans la page php
    et un controle de l'envoye de data avec javascipt
    0
  2. le père
     
    Bonjour

    solution au problème 1 : après l'insertion tu fais header("Location:page.html"); exit();
    solution au problème 2 : le truc que j'utilise personnellement. Plus long à expliquer qu'à programmer :
    Chaque fois que tu envoies le formulaire, tu tires un nouvel identifiant unique ( fonction uniqid(), que tu mémorises dans une variable de session et que tu mets dans un champ hidden) et tu mets un booleen à faux (variable de session aussi).
    Chaque fois que tu reçois le formulaire, tu vérifies qu'il a le bon identifiant et que le booleen est à faux. Si les conditions sont bonnes, tu fais ton traitement et tu passes le booleen à faux. (si tu renvoies le formulaire aussitôt, le paragraphe précédent s'applique)
    Comme ça, quelle que soit la cause de la répétition (rafraichissement ou retour à la page précédente), au moins une des deux conditions n'est pas remplie.
    0
  3. jerem1985 Messages postés 68 Statut Membre 2
     
    merci pour ta reponse

    pour le header j'vais trouver, (j'y avais pas pensé)
    pour le uniqid, merci sa a l'air bien et facile a mettre en place, moi je fais une comparaison sur une des valeurs envoyer qui doit forcement changer du coup si elle est identique alors je n'enregistre pas, sa ressemble a ta methode en moins bien, j vais donc mettre ta solution en prod

    merci pour ta reponse
    0