Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème pour mon livre d'or

    20 février 2006 à 17:21:22

    Slt,

    J'ai créé un livre d'or pour mon site avec le code du sdz, mais il ne fonctione pas chez moi.
    Le problème est que si l'utilisateur laisse un des deux (ou les deux) champs vides, le message s'affiche quand même, mais avec les champs vides.

    Voici le code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
       <head>
           <title>Guestbook</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
            <style type="text/css">
            form, .pages
            {
                text-align:center;
            }
            </style>
                   
                    <script language = "Javascript">
                            function verifForm(document)
                            {
                                    if (document.pseudo.value = "" || document.message.value == "")
                                    {
                                            alert ('Please fill all the fields.');
                                    }
                            }
                    </script>
                           
        </head>
       
        <body>

        <form method="post" action="guestbook.php">
        <p>You would say something good about this site?<br />
               Leave us a message...
            </p>
       
        <p>
            Login : <input name="pseudo" /><br /><br />
            Message :<br />
            <textarea name="message" rows="8" cols="35"></textarea> <br />
            <input type="submit" value="send"/>
        </p>
        </form>

    <p class="pages">
    <?php
    mysql_connect("localhost", "root", "");
    mysql_select_db("jeux");

    // --------------- Etape 1 -----------------
    // Si un message est envoyé, on l'enregistre
    // -----------------------------------------


    if (isset($_POST['pseudo']) && isset($_POST['message']))
    {
       
        $pseudo = htmlentities($_POST['pseudo'], ENT_QUOTES); // On utilise htmlentities par mesure de sécurité
           
        $message = htmlentities($_POST['message'], ENT_QUOTES); // De même pour le message
        $message = nl2br($message); // Pour le message, comme on utilise un textarea, il faut remplacer les Entrées par des <br />
       
        // On enregistre le message
        mysql_query("INSERT INTO guestbook VALUES('', '" . $pseudo . "', '" . $message . "')");
    }

           

    // --------------- Etape 2 -----------------
    // On écrit les liens vers chacune des pages
    // -----------------------------------------

    $nombreDeMessagesParPage = 10; //On définit le nombre de messages par pae.

    // On récupère le nombre total de messages
    $retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM guestbook');
    $donnees = mysql_fetch_array($retour);
    $totalDesMessages = $donnees['nb_messages'];

    // On calcule le nombre de pages à créer
    $nombreDePages  = ceil($totalDesMessages / $nombreDeMessagesParPage);

    echo "$totalDesMessages messages are now in the guestbook! <br /><br />";
    // Puis on fait une boucle pour écrire les liens vers chacune des pages
    echo 'Page : ';
    for ($i = 1 ; $i <= $nombreDePages ; $i++)
    {
        echo '<a href="guestbook.php?page=' . $i . '">' . $i . '</a> ';
    }

    ?>

    </p>
    <?php
    // --------------- Etape 3 ---------------
    // Maintenant, on va afficher les messages
    // ---------------------------------------

    if (isset($_GET['page']))
    {
        $page = intval($_GET['page']); // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page=4)
    }
    else // La variable n'existe pas, c'est la première fois qu'on charge la page
    {
        $page = 1; // On se met sur la page 1 (par défaut)
    }

    // On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
    $premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;

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

    while ($donnees = mysql_fetch_array($reponse))
    {
        echo '<p><gras>' . $donnees['pseudo'] . '</gras> wrote :<br />' . $donnees['message'] . '</p>';
    }


    mysql_close(); // On ferme la connexion à mysql
    ?>

    </body>
    </html>


    Je veux donc savoir comment faire pour arrêter le script si un des deux champs n'est pas rempi. (que ce soit en php ou javascript).
    Merci...
    • Partager sur Facebook
    • Partager sur Twitter
      20 février 2006 à 17:32:21

      Utilise empty, je crois, pour vérifier que tes champs ne sont pas vides.
      • Partager sur Facebook
      • Partager sur Twitter

      Problème pour mon 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