Partage
  • Partager sur Facebook
  • Partager sur Twitter

Livre d'or

Pas de messages enregistré

Sujet résolu
    13 janvier 2006 à 2:22:11

    Bonjour/Bonsoir, en fonction de l'heure à laquelle vous lisez ce message! ^^
    Je suis tout ce qu'il y a de plus novice en php (quoi que le cours présent sur ce site m'a beaucoup aidé!) et je fais quelques test en local pour un futur site (enfin si je ne me décourage pas d'ici là :lol: ).

    J'ai un souci avec le livre d'or: je ne peux entrer aucun message à partir de la page (ça fonctionne quand j'inscrit le message directement dans la base de donnée, mais bon, c'est pas trop l'effet recherché ^^ )

    Je n'arrive pas à comprendre ce qu'il ne va pas. j'avais pensé à un problème de connexion à la bdd, mais ça me semble ok. Cela dit, j'ai une sorte de don pour zappé ZE détail qui fait toute la différence!

    Voici le code:

    <?
    mysql_connect("localhost", "root", "");
    mysql_select_db("essai");

    if (isset($_POST['pseudo']) AND isset($_POST['message']))
    {
        $pseudo = htmlentities($_POST['pseudo'], ENT_QUOTES);
        $message = htmlentities($_POST['message'], ENT_QUOTES);
        $message = nl2br($message);

        mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "', '" . $message . "')");
    }

    $nombreDeMessagesParPage = 10;

    $retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM livreor');
    $donnees = mysql_fetch_array($retour);
    $totalDesMessages = $donnees['nb_messages'];


    $nombreDePages  = ceil($totalDesMessages / $nombreDeMessagesParPage);

    echo 'Page : ';
    for ($i = 1 ; $i <= $nombreDePages ; $i++)
    {
        echo '<a href="livreor.php?page=' . $i . '">' . $i . '</a> ';
    }

    ?>

    </p>

    <?
    if (isset($_GET['page']))
    {
        $page = $_GET['page'];
    }
    else
    {
        $page = 1;
    }

    $premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;

    $reponse = mysql_query('SELECT * FROM livreor ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);

    while ($donnees = mysql_fetch_array($reponse))
    {
        echo '<h4>' . $donnees['pseudo'] . ' - ' . date('d/m/Y', $donnees['timestamp']) . '</h4><p><br/>' . $donnees['message'] . '</p>';
    }

    mysql_close();
    ?>


    Voilà, j'espère que vous pourrez éclairer ma lanterne; je suis vraiment paumé là... :(
    • Partager sur Facebook
    • Partager sur Twitter
      13 janvier 2006 à 2:37:38

      mets
      mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "', '" . $message . "')") or die(mysql_error());

      et dis nous si une erreur est retournée
      • Partager sur Facebook
      • Partager sur Twitter
        13 janvier 2006 à 2:58:42

        Non :(
        ça me renvoit sur la page, aucun message d'erreur n'est donné, mais le message n'est pas ajouté non plus...
        • Partager sur Facebook
        • Partager sur Twitter
          13 janvier 2006 à 3:10:15

          mysql_query("INSERT INTO livreor VALUES('', '$pseudo', '$message')");
          • Partager sur Facebook
          • Partager sur Twitter
            13 janvier 2006 à 3:23:20

            Cela ne fonctionne pas non plus :(

            Arf, je vois pas de quoi ça vient à part ça, puisque je peux insérer un message directement à partir de la base de donnée...
            • Partager sur Facebook
            • Partager sur Twitter
              13 janvier 2006 à 4:39:00

              Montre ton code ou il y a le formulaire. Le problème vient peut-être de là :-°
              • Partager sur Facebook
              • Partager sur Twitter
                13 janvier 2006 à 10:23:39

                <form method="post" action="livreor.php">
                    <p>Pseudo : <input name="pseudo"/><br/><br/>
                       E-mail :&nbsp;&nbsp; <input name="email"/><br/><br/>
                       Titre&nbsp;&nbsp; :&nbsp;&nbsp; <input name="titre"/><br/><br/>
                       Message :<br />
                        <textarea name="message" rows="8" cols="35"></textarea><br/>
                        <input type="submit" value="Envoyer"/>
                    </p>
                    </form>


                Voilà ^^ (j'ai rajouté des champs depuis, mais j'ai bien fait attention de les prendre en compte dans le code php.
                Si vous voulez voir le code avec les ajouts, il suffit de demander. ;)
                • Partager sur Facebook
                • Partager sur Twitter
                  13 janvier 2006 à 17:16:45

                  Essaie de remplacer

                  mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "', '" . $message . "')");


                  par

                  mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "', '" . $message . "', '". time()."')");
                  • Partager sur Facebook
                  • Partager sur Twitter
                    13 janvier 2006 à 19:28:57

                    Merci merci ça fonctionne!!!!
                    Arf c'est super, merci beaucoup, je m'en suis arraché des cheveux ^^

                    Par curiosité, peux-tu m'expliquer la requête? Parce que je ne comprends pas la différence, et j'aimerai pouvoir, c'est toujours ça de pris! :)
                    • Partager sur Facebook
                    • Partager sur Twitter

                    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