IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

problème pour realiser un livre d'or


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 9
    Par défaut problème pour realiser un livre d'or
    Salut à tous!
    Je n'arrive pas à trouver mon erreur dans la realisation d'un livre d'or en php.
    mon code d'erreur est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in C:\wamp\www\tests\livreor.php on line 74
    Voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    <!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 action="livreor.php" method="post">
    	   <p>votre message</p>
    	   <p>
    	   pseudo: <input type="text" name="pseudo" /><br />
    	   message:<br />
    	   <textarea type="text" name="message" cols="35" rows="5 />Votre message</textarea><br />
    	   <input type="submit" value="Envoyer" />
    	   </p>
    	   </form>
     
    	   <p class="pages">
    	   <?php
           //connection
    	   mysql_connect("localhost", "root", "");
    	   mysql_select_db("coursphp");
     
    	   //verification
           if(isset($_POST['pseudo']) AND isset($_POST['message']))
              {
               $pseudo = mysql_escape_real_string(htmlspecialchars($_POST['pseudo']));
               $message = mysql_escape_real_string(htmlspecialchars($_POST['message']));
               $message = nl2br($message);
               //enregistrement du message
               mysql_query("INSERT INTO livre VALUES ('', '". $pseudo ."', '". $message ."')") or die(mysql_error());
    		   }
     
    		   //ecriture des liens
    		   $nombre_message_page = 20;
    		   //total des messages
               $retour = mysql_query('SELECT COUNT(*) AS nb_message FROM livre') or die(mysql_error());
               $donnees = mysql_fetch_array($retour);
               $total_messages = $donnees['nb_message'];
     
               //creation de pages pour les messages
               $nombre_pages = ceil($total_messages / $nombre_message_page);
               //boucle pour les écrire
               echo 'page: ';
               for($i = 1; $i <= $nombre_pages; $i++)
               {
                echo '<a href="livreor.php?page=' .$i .'">' . $i .'</a>';
               }
               ?>
           </p>
               <?php
    		   if(isset($_GET['page']))
    		     {
    			  $page = $_GET['page'];
    			 }
    		  else
    		     {
    			  $page = 1;
    			 }
     
    			 $premier_message_afficher = ($page-1) * $nombre_message_page;
    			 $reponse = mysql_query('SELECT * FROM livre ORDER id BY DESC LIMIT ' . $premier_message_afficher .', ' . $nombre_message_page') or  die(mysql_error());
    		  while
    		      {
    			   echo '<p><strong>' . $donnees['pseudo'] . '</strong> a écrit :<br />' . $donnees['message'] . '</p>';
    			  }
    			  mysql_close();
    			  ?>
    	</body>
    	</html>
    merci de me repondre.

  2. #2
    Membre éprouvé Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Par défaut
    salut,
    Visiblement ton souci est à la ligne 74.
    Affiche nous cette ligne ça sera plus simple pour nous je pense.

  3. #3
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 9
    Par défaut voici mon code avec le numero de ligne
    voici le code avec les numeros de ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
     
    1.	<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    2.	 
    3.	<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
    4.	   <head>
    5.	       <title>Livre d'or</title>
    6.	        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    7.	 
    8.	        <style type="text/css">
    9.	        form, .pages
    10.	        {
    11.	            text-align:center;
    12.	        }
    13.	        </style>
    14.	    </head>
    15.	    <body>
    16.	 
    17.	    <form method="post" action="livreor.php">
    18.	        <p>Mon site vous plaît ? Laissez-moi un message !</p>
    19.	        <p>
    20.	            Pseudo : <input name="pseudo" /><br />
    21.	            Message :<br />
    22.	            <textarea name="message" rows="8" cols="35"></textarea><br />
    23.	            <input type="submit" value="Envoyer" />
    24.	        </p>
    25.	    </form>
    26.	 
    27.	    <p class="pages">
    28.	 
    29.	<?php
    30.	mysql_connect("localhost", "root", "");
    31.	mysql_select_db("coursphp");
    32.	 
    33.	// --------------- Etape 1 -----------------
    34.	// Si un message est envoyé, on l'enregistre
    35.	// -----------------------------------------
    36.	 
    37.	if (isset($_POST['pseudo']) AND isset($_POST['message']))
    38.	{
    39.	    $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo'])); // On utilise mysql_real_escape_string et htmlspecialchars par mesure de sécurité
    40.	    $message = mysql_real_escape_string(htmlspecialchars($_POST['message'])); // De même pour le message
    41.	    $message = nl2br($message); 
    42.	 
    43.	    // On enregistrer 
    44.	    mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "', '" . $message . "')");
    45.	}
    46.	 
    47.	// --------------- Etape 2 -----------------
    48.	// On écrit les liens vers chacune des pages
    49.	// -----------------------------------------
    50.	 
    51.	// On met dans une variable le nombre de messages qu'on veut par page
    52.	$nombreDeMessagesParPage = 20; // Essayez de changer ce nombre pour voir :o)
    53.	// On récupère le nombre total de messages
    54.	$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM livreor');
    55.	$donnees = mysql_fetch_array($retour);$totalDesMessages = $donnees['nb_messages'];
    56.	// On calcule le nombre de pages à créer
    57.	$nombreDePages  = ceil($totalDesMessages / $nombreDeMessagesParPage);
    58.	// Puis on fait une boucle pour écrire les liens vers chacune des pages
    59.	echo 'Page : ';
    60.	for ($i = 1 ; $i <= $nombreDePages ; $i++)
    61.	{
    62.	    echo '<a href="livreor.php?page=' . $i . '">' . $i . '</a> ';
    63.	}
    64.	?>
    65.	 
    66.	</p>
    67.	 
    68.	<?php
    69.	 
    70.	 
    71.	// --------------- Etape 3 ---------------
    72.	// on  afficher les messages
    73.	// ---------------------------------------
    74.	 
    75.	if (isset($_GET['page']))
    76.	{
    77.	        $page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page=4)
    78.	}
    79.	else 
    80.	{
    81.	        $page = 1; // On se met sur la page 1 (par défaut)
    82.	}
    83.	 
    84.	// On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
    85.	$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
    86.	 
    87.	$reponse = mysql_query('SELECT * FROM livreor ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);
    88.	 
    89.	while ($donnees = mysql_fetch_array($reponse))
    90.	{
    91.	        echo '<p><strong>' . $donnees['pseudo'] . '</strong> a écrit :<br />' . $donnees['message'] . '</p>';
    92.	}
    93.	 
    94.	mysql_close(); 
    95.	?>
    96.	 
    97.	</body>
    98.	</html>

  4. #4
    Expert confirmé
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Par défaut
    Bonjour

    La ligne 74 est devenu la ligne 91 dans ton second code, c'est le mysql_query qui est mal goupillé, tu as oublié de fermer les quotes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $reponse = mysql_query('SELECT * FROM livre ORDER id BY DESC LIMIT '.$premier_message_afficher.', '.$nombre_message_page.'') or  die(mysql_error());
     while ($donnees = mysql_fetch_array($reponse))
         {
       echo '<p><strong>' . $donnees['pseudo'] . '</strong> a écrit :<br />' . $donnees['message'] . '</p>';
      }
    Dans ton premier tu avais aussi oublié de mettre ($donnees = mysql_fetch_array($reponse)) derrière le while mais je vois que tu as corrigé toi même...

  5. #5
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 9
    Par défaut problème resolu
    Salut à tous
    mon problème vient d'être resolu et merci encore!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [RegEx] problème pour realiser regexp
    Par keke59 dans le forum Langage
    Réponses: 2
    Dernier message: 18/11/2008, 21h13
  2. [fileupload] problème pour parser la requete
    Par jaimepasteevy dans le forum Struts 1
    Réponses: 12
    Dernier message: 24/04/2008, 12h02
  3. Installer un script de Livre d'or en PHP
    Par supdoberman dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 23/11/2006, 15h25
  4. Réponses: 3
    Dernier message: 29/08/2003, 10h57
  5. Problème pour récupérer la clé primaire
    Par caramel dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 11/04/2003, 13h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo