Probleme actualiser page et BDD

Bonjour,

J'ai une page qui insert des données dans une base de données, quand j'insert quelque chose et que j'actualise ma page, cela me réenregistre la même chose dans la base de donnée. Comment faire SVP
Configuration: Windows Vista
Firefox 2.0.0.14

8 réponses

  • Votes
  • Date
  • Date décroissante
  1. pour eviter les doublons qd tu actualises tu peux faire ça

    $query = mysql_query("SELECT message FROM tatable ORDER BY id DESC LIMIT 1");
    $assoc = mysql_fetch_array($query);
    if($assoc['message'] != $message) {
    la tu fais ton insert

    mysql_close();
    }
    j'ai mis message comme champ a titre d'exemple, a toi de voir sur quel champ tu veux tester
    en gros ca recherche le dernier enregistrement que tu as effectué, si il existe deja ça n'enregistre pas , si il n'existe pas l'insert se fait
    1. merci c'est une tres bonne ideé :)
  2. Salut,

    Tu travailles avec PHP et MySQL ?

    - Un bouton pour effacer les enregistrements dans les zone de saisie ça te va ?
  3. Désolé, j'avais modifié mon mess

    Un bouton effacer ça te va ? Ou alors je ne comrpend pas ce qu'tu veux faire ...
    1. oui je suis avec php et mysql, je ne veux pas de bouton effacer. Quand je remplis mon formulaire, et que je le valide, ensuite j'actualise ma page pour que la prise en compte soit faite, et cela m'enregistre encore une fois ce que j'avais saisie auparavant dans le formulaire
  4. Mais je ne comprend pas pourquoi tu as besoin d'actualiser pour que la prise en compte soit faite... le bouton VALIDER sert à quoi alors ?
    1. Parce se que quand je valide, il actualise bien la page, c'est enregistrer dans la base, mais c'est pas forcément ré afficher tout de suite à l'écran. Il faut des fois actualisé quelques secondes après
  5. En effet, comme le dit V3n1 ta page doit se rafraichir d'elle meme apres avoir cliquer sur valider.
    1. il faut que tu utilise captcha afin que tu securise ton formulaire
      exemple;

      <?php session_start();
      if(isset($_POST['captcha']) && $_POST['captcha']==$_SESSION['resultat'])
      {
      $message = htmlspecialchars(mysql_real_escape_string($_POST['message']));
      $req = "INSERT INTO bbcode VALUES ('','$message')";
      $exec = mysql_query($req);
      }
      $nb1 = rand(1, 5);
      $nb2 = rand(1, 5);
      $somme = $nb1 + $nb2;
      $_SESSION['resultat'] = $somme;
      ?>

      et dans <form> </form> tu met :
      Combien font <?php echo $nb1; ?> + <?php echo $nb2; ?> ?
      <input class="input" type="text" size="20" name="captcha" />
      1. Je ne comprend pas d'ou sort ton $message ???
        Tu n'as rien declarer et tu compare le champ d'une base a une variable qui sort d'on ne sait ou ?!
        Je pense qu'il s'agit du champ du formulaire préalablement posté ?!
        Merci
        1. salut

          ajouter ce code dans le code de bouton valider
          Response.Redirect(" URL de t page ");