Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème livre d'or

Sujet résolu
    2 septembre 2006 à 18:41:33

    Bonjour,
    Aujourd'hui j'ai envoyé mon livre d'or sur le serveur. Et j'ai un problème. Car mon livre d'or je lui ai ajoutés 2 champs suplémentaires un pour mettre son email l'autre pour mettre son site.
    Et le problème c'est que quand j'enregistre un nouveau message avec une adresse de site ou d'email et bien ca efface les adresses des autres messages pour les remplacés par celle que j'enregistre.
    C'est ça mon problème.
    Je vous joins la page qui enregistre le message.

    <?php
    mysql_connect("localhost","",""); //Connection à la base de données
    mysql_select_db("");


    //--------------------------------------------------------------------
    // Etape 1 : on verifie si on peut enregistrer le message
    //--------------------------------------------------------------------
    if (!empty($_POST['pseudo']) AND  !empty($_POST['message'])) //Si le pseudo et le message est soumis on l'enregistre
    {
    $pseudo = htmlentities($_POST['pseudo'], ENT_QUOTES); // On enleve l'eventuel code html qui pourrait s'y trouvait
    $message = htmlentities($_POST['message'], ENT_QUOTES);
    $note = htmlentities($_POST['note'], ENT_QUOTES);
    $note = ceil($note);
    $date = time();
    mysql_query("INSERT INTO livreor VALUES('' , '" . $pseudo . "', '" . $message . "', '" . $note . "','". $date."','','')"); // On enregistre le message
    $id = mysql_insert_id(); // On recupère l'ID du message que l'on vient d'enregistrer.
    echo 'Votre message à bien été enregistré. Vous allez être rediger vers la page de messages dans 5 secondes. Si la redirection ne s\'effectue pas cliquer ici : <a href="livreor.php">Retour à la page des messages.</a>
    <META HTTP-EQUIV="refresh" CONTENT="5; URL=livreor.php">
    '; // Message de confirmation



    if (!empty($_POST['
    email'])) //Si le visiteur à mis en plus son adresse email
    {
    $email = htmlentities($_POST['
    email'], ENT_QUOTES); // On enleve le html
    $email = '
    <img src="http://syndication.multimania.lycos.fr/resources/img/goodies/guestbook/logo_email.gif" alt="Image email" title="Email" /><a href="mailto:'.$email.'">'.$email.'</a>'; // On ajoute un petit logo
    mysql_query("UPDATE livreor SET email='
    $email' WHERE ID='$id'"); // On met à jours le champ qu'on venait d'enregistrer grace à l'id que l'on à récupérer en enregistrant le message avec la fonction "mysql_insert_id"
    }




    if (!empty($_POST['
    site']) AND $_POST['site'] !="http://") // Si il à soumis une adresse web on verifie que elle est differente de "http://"
    {
    $site = htmlentities($_POST['
    site'], ENT_QUOTES); // on enleve le html
    $site = '
    <img src="http://syndication.multimania.lycos.fr/resources/img/goodies/guestbook/logo_homepage.gif" alt="Image site" title="Site perso/Blog" /><a href="'.$site.'"target="_blank">'.$site.'</a>'; // on ajoute un petit logo
    mysql_query("UPDATE livreor SET site='
    $site' WHERE ID='$id'"); // Ensuite on met à jours le champs comme avec l'adresse email grance à l'ID recupéré prédament
    }


    }
     


    Voici aussi le lien ou se trouve script : livre or
    Hésiter pas tester pour voir le bug
    • Partager sur Facebook
    • Partager sur Twitter
      2 septembre 2006 à 18:47:15

      Déjà, au lieu de mettre des !empty, met une double condition :
      isset et après tu vérifies si c'est pas NULL ;)
      • Partager sur Facebook
      • Partager sur Twitter
        2 septembre 2006 à 19:43:42

        Pour la double condition, tu veut dire comme ça :

        <?php
        if (isset($_POST['pseudo']))
        {
        if (isset($_POST['message']))
        {

        }
        }

        Ca change pas le problème aussi.
        • Partager sur Facebook
        • Partager sur Twitter
          2 septembre 2006 à 19:49:25

          Non fais quelque chose comme ça :

          if (isset($_POST['pseudo']) AND isset($_POST['message']))
          {
               if ($_POST['pseudo'] != NULL AND $_POST['message'] != NULL)
               {
                    //toutes tes actions ici
               }
          }


          Ca changera p'têtre pas le problème, mais en tout cas ça éclaircira le code... Enfin, c'est comme ça que je fais moi :D
          Après, pour ton problème... je sais pas ! :-°
          • Partager sur Facebook
          • Partager sur Twitter
            2 septembre 2006 à 19:56:16

            Je viens de comprendre. J'ai oublier dans ma table de mettre un auto_increment pour l'ID.
            • Partager sur Facebook
            • Partager sur Twitter
              2 septembre 2006 à 20:04:00

              Quand j'ai crée la table j'y est plus pensé.
              • Partager sur Facebook
              • Partager sur Twitter

              Problème livre d'or

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown