Formulaire php requette et affichage

Bonjour,
je suis débutant en php
je souhaiterais faire un formulaire en html deja fait
ensuite cliquer sur "poster" pourqu'il poste le message dans la base de donnée et ensuite faire un echo
pour pouvoir afficher le resultat
par contre vu qu'il y'aura plusieur commentaires je pense qu'il faut faire une boucle afin d'afficher a chaque fois les commentaires dans une div et une zone scrollable
je vois a peu pres ce qu'il faut faire
mais je souhaiterais avoir un exemple concret pour m'en inspirer
si quelqu'un pouvais me fournir un exemple
merci
Configuration: Windows 7 / Firefox 3.5.8

10 réponses

  1. http://www.siteduzero.com/tutoriel-3-14547-un-livre-d-or.html

    Ton ordinateur ne fait pas ce que tu veux ... mais ce que tu lui dis de faire.
    1. salut jai fais exactement comme dans lexemple du site du zero
      quand je clique sur envoyer mon message
      rien ne se passe
      aucune erreur
      peut tu me corriger stp
      jai repris le meme code
      j'ai créer ma base de donnée : coursphp
      et ma table : livreor
      avec 3 champs: id, pseudo, message
      <!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", "root", "mysql");
      mysql_select_db("coursphp");
       
      // --------------- Etape 1 -----------------
      // Si un message est envoyé, on l'enregistre
      // -----------------------------------------
       
      if (isset($_POST['pseudo']) AND isset($_POST['message']))
      {
          $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo'])); // On utilise mysql_real_escape_string et htmlspecialchars par mesure de sécurité
          $message = mysql_real_escape_string(htmlspecialchars($_POST['message'])); // 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>
      
      
      1. C'est dans mysql_connect(); ?
        Tu dois mettre ton pseudo et pass pour te connecter à ta base !
        1. comment je fais pour retrouver mon pseudo et mot de passe
          parce que j'ai pas mis de mot de passe
          et par défaut c root comme pseudo

          mais quand je met root mysql ca me fait aucune erreur
          par contre ca m'affiche rien
          il n' y as pas un moyen d'afficher mes identifier sur easyphp?
          1. mais le site du zéro c parfait
            j'ai refait le même script
            et j'ai vérifier mes identifiant de connexion
            ca marches toujours pas
            pourtant sur le site du zéro ca l'air de bien marcher
            1. essai ceci:
              hôte:localhost
              utilisateur: root
              mot de passe: /* vide */

              c-à-d:
              <?php
              //------------------- definition des constants ------------------------
              define (SERVEUR, "localhost");
              define (UTILISATEUR, "root");
              define (PASSWORD,"");
              define (BASE,"coursphp");
              //-----------------------------------------------------------------------
              //---------------connexion au serveur -----------------------------------
               $connexion=mysql_pconnect(SERVEUR,UTILISATEUR,PASSWORD);
              if (!$connexion) {
              			echo"impossible de connecter au serveur "; // il faut penser là de changer votre nom de serveur, votre nom d'utlisateur, ou votre mot de pass.peut êtra aussi qu'il y a des erreurs de saisie
              			exit;   // et on arrête
              		}
              // sinon on continue
              //-------------- connexion à la base de données -------------------------
              		$connectdb=mysql_select_db(BASE,$connexion);
              		if (!$connectdb) {
              			echo"impossible de connecter à la base de donnée "; / il faut penser là de changer votre nom de la base  ou il y a des erreur de saisie
              			exit; //et on arrete le programme
              		}
              //-----------sinon on continue
              // --------------- Etape 1 ----------------------------------------------
              // Si un message est envoyé, on l'enregistre
              // ----------------------------------------------------------------------
               
              if (isset($_POST['pseudo']) AND isset($_POST['message']))
              {
                  $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo'])); // On utilise mysql_real_escape_string et htmlspecialchars par mesure de sécurité
                  $message = mysql_real_escape_string(htmlspecialchars($_POST['message'])); // 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> ';
              }
              ?>
              
              1. salut

                ton exemple marches pas
                voici les erreurs:
                Notice: Use of undefined constant SERVEUR - assumed 'SERVEUR' in C:\Program Files\EasyPHP-5.3.1\www\form\livreor.php on line 3
                
                Notice: Use of undefined constant UTILISATEUR - assumed 'UTILISATEUR' in C:\Program Files\EasyPHP-5.3.1\www\form\livreor.php on line 4
                
                Notice: Use of undefined constant PASSWORD - assumed 'PASSWORD' in C:\Program Files\EasyPHP-5.3.1\www\form\livreor.php on line 5
                
                Notice: Use of undefined constant BASE - assumed 'BASE' in C:\Program Files\EasyPHP-5.3.1\www\form\livreor.php on line 6
                
                Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\Program Files\EasyPHP-5.3.1\www\form\livreor.php on line 44
                Page : 
            2. salut quelqu'un peut me dire comment je dois faire pour afficher le nom et le message dans ma div
              'jai fai un select et un echo des infos qu'il y'as dans ma base mais rien ne s'affiche

              <?php
              
              //j'inclus ma fichier fonction pour me connecter a la base de donnée.
              include('fonctions.php');
              $html = '';
              $nom = '';
              // je vérifie si le formulaire a été envoyé
              if(!empty($_POST['submit']))
              { 
              	# on récupère les données postés dans le formulaire
              	$nom		= $_POST['nom'];
              	$message	= $_POST['message'];
              	
              	# on se connecte à la BDD en faisant appel à la fonction qu'on a créé
              	connexion();
              	
              	$sql = "INSERT INTO comment 
              				VALUES (
              						'".mysql_real_escape_string($nom)."', 
              						'".mysql_real_escape_string($message)."', 				
              						NOW())";
              	mysql_query($sql) or die('Erreur d\'ajout : '.mysql_error());
              
              	
              	
              				#etape2 récuperer les valeurs
              				
              				
              	#requete pour recuperer les valeurs
              	$sql= "SELECT  nom, message FROM comment ORDER BY nom";
              	$mesMessages = mysql_query($sql) or die('Erreur de Select :'.mysql_error());
              	
              	
              		mysql_close();
              	
              	header("location: index.php");
              	}
              ?>
              
              
              <!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="en" lang="en">
              
              <head>
              	<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
              	
              	<title>Start/Stop Slider</title>
              	
              	<link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
              	
              	<script type="text/javascript" src="js/jquery-1.2.6.js"></script>
              	<script type="text/javascript" src="js/startstop-slider.js"></script>
              	
              </head>
              
              <body>
              
              	<div id="page-wrap">
              		
              		<h2>Start/Stop Slider</h2>
              		
              		<div id="slider">
              
              			<div id="mover">
              		
              				<div id="slide-1" class="slide">
              				
              					<h1>Garden Rack</h1>
              					
              					<p>Donec gravida posuere arcu. Nulla facilisi. Phasellus imperdiet. Vestibulum at metus. Integer euismod. Nullam placerat rhoncus sapien. Ut euismod. Praesent libero. Morbi pellentesque libero sit amet ante. Maecenas tellus.</p>
              					
              					<a href="#"><img src="images/slide-1-image.png" alt="learn more" /></a>
              					
              				</div>
              				
              				<div class="slide">
              				
              					<h1>Tulip Bulbs</h1>
              					
              					<p>Donec gravida posuere arcu. Nulla facilisi. Phasellus imperdiet. Vestibulum at metus. Integer euismod. Nullam placerat rhoncus sapien. Ut euismod. Praesent libero. Morbi pellentesque libero sit amet ante. Maecenas tellus.</p>
              					
              					<a href="#"><img src="images/slide-2-image.png" alt="learn more" /></a>
              					
              				</div>
              				
              				<div class="slide">
              				
              					<h1>Garden Gloves</h1>
              					<?php
              					# On affiche le tableau
              					echo $nom;
              					?>
              					<p>Donec gravida posuere arcu. Nulla facilisi. Phasellus imperdiet. Vestibulum at metus. Integer euismod. Nullam placerat rhoncus sapien. Ut euismod. Praesent libero. Morbi pellentesque libero sit amet ante. Maecenas tellus.</p>
              					
              					<a href="#"><img src="images/slide-3-image.png" alt="learn more" /></a>
              					
              				</div>
              			
              			</div>
              		
              		</div>
              		
              		
              	</div>
              	
              <div id="container">
              		<h1>Ajouter un commentaire</h1>
              		<form action="index.php" method="post" accept-charset="utf-8">
              			<p><label for="nom">Nom : </label><input type="text" name="nom" value="" id="nom" /></p>
              			<p><label for="message"></label>	<TEXTAREA rows="5" cols="30" name="message" id="message"></TEXTAREA></p>
              			<p class="submit"><input type="submit" name="submit" value=":: Ajouter ::" /></p>
              		</form>
              	</div>
              	<?php
              					# On affiche le tableau
              					echo $nom;
              				
              					?>
              </body>
              </html>