Livre d'or avec notation

Résolu
Bonjour,
Je voudrais pour mon site web mettre un livre d'or avec un système de notation, soit avec symboles, soit avec chiffres. (bien sur, il y aurait un calcul de la moyenne des notes
D'avance merci !
Configuration: Windows Vista
Firefox 2.0.0.3

13 réponses

  1. Toutes ces opérations sont à faire dans PHPMyAdmin (la zone d'administration de MySQL). C'est dans easyphp-->Administration-->GestionBDD

    Et là :

    créer une base : rien à dire tu tapes un nom dans le champ 'créer une table ' --> créer et c'est fait. (ici c'est coursphp)

    créer une table --> soit juste après avoir créé la base, dans le champ créer une table, soit à un autre moment dans l'onglet 'opérations' (ici c'est livreor)

    Après phpmyadmin te demande un nombre de champ pour ta table
    dans notre cas tu mets 3 ensuite tu pourras en ajouter ou en supprimer.

    Tu les nommes respectivement id, pseudo et message et tu les paramètres comme te le dit le tuto du site du zero.

    Maintenant pour créer l'utilisateur sdz avec mdp 'mot_de_passe' sur le serveur 'localhost' :

    dans la boite de sélection à gauche, choisis(Bases de données)
    pour sortir de toute base de donnée --> Clique sur privilèges -->clique sur ajouter un utilisateur --> et remplis les bonnes infos.

    Avec tout ca si c'est pas bon c'est que tu sautes une étape : renseigne-toi d'abord sur les bases de données et suis des tutos plus simples pour démarrer.

    Enfin j'espère que ca t'aura aidé --> Dis-nous si t'y arrives ou pas !
    1
    1. Pas la peine de paniquer reste lucide. C'est une erreur d'inattention.

      Warning: mysql_connect(): Accès refusé pour l'utilisateur: 'qdz'

      o_O qdz au lieu de sdz

      soit tu remplaces l'utilisateur qdz par sdz dans MySQL ou alors directement dans livreor.php tu remplaces sdz par qdz.

      Ca devrait résoudre la majorité des erreurs si ce n'est toutes !
      1
      1. L'ennui, c'est que je connais ce site et il se trouve que leur code ne fonctionne paaaaaaaaas !
        0
        1. fais voir un peu ce code qui ne marche pas!
          ^^
          0
          1. Voici le code (comme vous l'avez comprit, je suis un peut noob et il serait gentil de m'expliquer où ça cloche, merci ) :
            <!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>Livre d'or</title>
                    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
                    <style type="text/css">
                    form, .pages
                    {
                        text-align:center;
                    }
                    </style>
                </head>
               
                <body>
            
                <form method="post" action="livreor.php">
                <p>Mon site vous plaît ? Laissez-moi un message !</p>
               
                <p>
                    Pseudo : <input name="pseudo" /><br />
                    Message :<br />
                    <textarea name="message" rows="8" cols="35"></textarea> <br />
                    <input type="submit" value="Envoyer" />
                </p>
                </form>
            
            <p class="pages">
            <?php
            mysql_connect("localhost", "sdz", "mot_de_passe");
            mysql_select_db("coursphp");
            
            // --------------- Etape 1 -----------------
            // Si un message est envoyé, on l'enregistre
            // -----------------------------------------
            
            if (isset($_POST['pseudo']) AND 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 peut enfin enregistrer :o)
                mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "', '" . $message . "')");
            }
            
            // --------------- Etape 2 -----------------
            // On écrit les liens vers chacune des pages
            // -----------------------------------------
            
            // On met dans une variable le nombre de messages qu'on veut par page
            $nombreDeMessagesParPage = 20; // Essayez de changer ce nombre pour voir :o)
            
            // On récupère le nombre total de messages
            $retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM livreor');
            $donnees = mysql_fetch_array($retour);
            $totalDesMessages = $donnees['nb_messages'];
            
            // On calcule le nombre de pages à créer
            $nombreDePages  = ceil($totalDesMessages / $nombreDeMessagesParPage);
            
            // Puis on fait une boucle pour écrire les liens vers chacune des pages
            echo 'Page : ';
            for ($i = 1 ; $i <= $nombreDePages ; $i++)
            {
                echo '<a href="livreor.php?page=' . $i . '">' . $i . '</a> ';
            }
            
            ?>
            
            </p>
            
            <?php
            // --------------- Etape 3 ---------------
            // Maintenant, on va afficher les messages
            // ---------------------------------------
            
            if (isset($_GET['page']))
            {
                $page = $_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 livreor ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);
            
            while ($donnees = mysql_fetch_array($reponse))
            {
                echo '<p><strong>' . $donnees['pseudo'] . '</strong> a écrit :<br />' . $donnees['message'] . '</p>';
            }
            
            mysql_close(); // On n'oublie pas de fermer la connexion à MySQL ;o)
            ?>
            
            </body>
            </html>
            0
            1. Tiens pour la peine, je l'ai testé, et il marche sur mon ordi (en même temps pour un copier-coller du site du zéro...).

              Alors dis-nous où ça foire exactement. Quelle est l'erreur que tu rencontre?

              Je devrais pas avoir à dire ça, mais est-tu sûr d'avoir créé la base 'coursphp' et la table 'livreor' avec ses trois champs, et d'avoir défini le login 'sdz'/mot de passe 'mot_de_passe' sur le serveur 'localhost' ??
              0
              1. Là où j'ai du mal, c'est pour créer ce dont parlent les deux dernières lignes de ton message. (vraiment beauoup de mal ^^)
                0
                1. Cela m'affiche tout ça :

                  Warning: mysql_connect(): Accès refusé pour l'utilisateur: 'qdz'@'@localhost' (mot de passe: OUI) in c:\mes documents\documents\livreor.php on line 29

                  Warning: mysql_select_db(): Accès refusé pour l'utilisateur: 'ODBC'@'@localhost' (mot de passe: NON) in c:\mes documents\documents\livreor.php on line 30

                  Warning: mysql_select_db(): A link to the server could not be established in c:\mes documents\documents\livreor.php on line 30

                  Warning: mysql_query(): Accès refusé pour l'utilisateur: 'ODBC'@'@localhost' (mot de passe: NON) in c:\mes documents\documents\livreor.php on line 45

                  Warning: mysql_query(): A link to the server could not be established in c:\mes documents\documents\livreor.php on line 45

                  Warning: mysql_query(): Accès refusé pour l'utilisateur: 'ODBC'@'@localhost' (mot de passe: NON) in c:\mes documents\documents\livreor.php on line 56

                  Warning: mysql_query(): A link to the server could not be established in c:\mes documents\documents\livreor.php on line 56

                  Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\mes documents\documents\livreor.php on line 57
                  Page :

                  Warning: mysql_query(): Accès refusé pour l'utilisateur: 'ODBC'@'@localhost' (mot de passe: NON) in c:\mes documents\documents\livreor.php on line 91

                  Warning: mysql_query(): A link to the server could not be established in c:\mes documents\documents\livreor.php on line 91

                  Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\mes documents\documents\livreor.php on line 93

                  Warning: mysql_close(): no MySQL-Link resource supplied in c:\mes documents\documents\livreor.php on line 98
                  0
                  1. VOus aviez raison, il y avait un problème, maintenant, il n'y a plus que ces erreurs d'affichées :

                    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\mes documents\documents\html\livreor.php on line 57
                    Page :

                    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\mes documents\documents\html\livreor.php on line 93

                    Les lignes citées sont respectivement :
                    Ligne 57 :
                    $donnees = mysql_fetch_array($retour);


                    Ligne 93 :
                    while ($donnees = mysql_fetch_array($reponse))


                    Voilà, qu'ai-je fait encore comme bêtise ?
                    -1
                    1. J'ai utilisé le même script pour mon livre d'or et j'ai rencontré le même problème que toi.
                      Pour le régler, il te suffit de remplacer
                      $donnees = mysql_fetch_array($retour); par $donnees = @mysql_fetch_array($retour);
                      Normalement ton problème sera réglé.
                      -1
                      1. J'ai utilisé le même script pour mon livre d'or et le problème est très simple à régler. Il te suffit de faire la chose suivante :
                        remplace $donnees = mysql_fetch_array($retour); par $donnees = @mysql_fetch_array($retour);
                        Normalement ton problème devrait être résolu je pense...
                        -1
                        1. evite les double poste stp tu peux les éditer avant 1heure le temps que quasiment personne vois ton message
                          0