Une parse error que je trouve pas (Php)

Fermé
artragis Messages postés 481 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 6 avril 2010 - 26 déc. 2008 à 13:05
artragis Messages postés 481 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 6 avril 2010 - 26 déc. 2008 à 15:49
Bonjour, pour un exercice que j'ai trouvé sur le web, je crée un mini_chat en Php avec BDD MySql je fais mon code :
<?php
if(!isset($Post['Pseudo'])or !isset($Post['texte']) ){//si il n'y a pas de donnée post
	mysql_connect("localhost","root","");
	mysql_select_db("test"); //on se connecte et on choisi la base
	?>
	<div align="center"><!-- ici on prépare le bloc de commentaire-->
	<?php
	$donnee_brut=mysql_query("SELECT * FROM mini_chat_tp ORDER BY ID DESC LIMIT 0,10" ) or die(mysql_error());//on range les 10 derniers messages déjà présents du plus récents au moins récent
	while ($tableau = mysql_fetch_array($donnee_brut) ) //on les remet en tableau associatif
		{
		echo "<div style=border : groove;>"; //le bloc du commentaire
    	echo "<b><u>"$tableau['Pseudo']"</u></b>";//on y met le pseudo qui est souligné + gras
    	echo "<br />";
    	echo "<p>"$tableau['Texte']"</p>";//et maintenant le commentaire
   		echo "</div>";//fin du bloc de ce commentaire
		}?>
	</div>
	<br/>
	<br/>
	<div align="center">
	<form method="post" action="chat.php">
	<em>Pseudo : </em> <input type="text" name="Pseudo"/> 
	<br/>
	<br/>
	<em>Votre texte :</em><br/>
	<input type="textarea" name="Texte"/><br/>
	<input type="submit" value="Envoyer le message"/>
	</form></div>
<?php

	mysql_close();//ferme la BDD
}//fin du "si il n'y a pas de donnée post"


Et lorsque j'exécute il me met "Parse error: parse error, expecting `','' or `';'' in C:\wamp\www\Tp1\chat.php on line 23" j'ai mis en gras cette 'ligne 23"


Vous pouvez me dire ce qui ne va pas et pourquoi svp?

3 réponses

Xil Messages postés 350 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 11 juin 2009 257
26 déc. 2008 à 13:14
Bonjour,

La concaténation en PHP se fait avec un point.

Il faut donc ajouter un point entre "<b><u>" et $tableau['Pseudo'] et "</u></b>"
echo "<b><u>" . $tableau['Pseudo'] . "</u></b>";


Même chose ligne 25.
2
artragis Messages postés 481 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 6 avril 2010 146
26 déc. 2008 à 15:19
bon pour e problème, c'set bon, c'était bien ça qui clochait... maintenant, mon chat arrive... enfin seul le formulaire arrive en fait, y a jamais rien qui s'affiche
voici le code entier merci de votre aide
<html>

	<head>
		<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
		<meta name="generator" content="Adobe GoLive">
		<title>minichat</title>
	</head>

	<body bgcolor="#ffffff">
		<?php
if(!isset($Post['Pseudo'])or !isset($Post['texte']) ){//si il n'y a pas de donnée post
	mysql_connect("localhost","root","");
	mysql_select_db("test"); //on se connecte et on choisi la base
	?>
	<div align="center"><!-- ici on prépare le bloc de commentaire-->
	<?php
	$donnee_brut=mysql_query("SELECT * FROM mini_chat_tp ORDER BY ID DESC LIMIT 0,10" ) or die(mysql_error());//on range les 10 derniers messages déjà présents du plus récents au moins récent
	while ($tableau = mysql_fetch_array($donnee_brut) ) //on les remet en tableau associatif
		{
		echo "<div style=border : groove;>"; //le bloc du commentaire
    	echo "<b><u>".$tableau['Pseudo']."</u></b>";//on y met le pseudo qui est souligné + gras
    	echo "<br />";
    	echo "<p>".$tableau['Texte']."</p>";//et maintenant le commentaire
   		echo "</div>";//fin du bloc de ce commentaire
		}?>
	</div>
	<br/>
	<br/>
	<div align="center">
	<form method="post" action="chat.php">
	<em>Pseudo : </em> <input type="text" name="Pseudo"/> 
	<br/>
	<br/>
	<em>Votre texte :</em><br/>
	<input type="textarea" name="Texte"/><br/>
	<input type="submit" value="Envoyer le message"/>
	</form></div>
<?php

	mysql_close();//ferme la BDD
}//fin du "si il n'y a pas de donnée post"
else {//sinon (donc s'il y a des données post)
	$texte = mysql_real_escape_string(htmlspecialchars($_POST['texte']));//on met les variable en concervant de la sécurité
	$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));//idem
	if($texte=="" or $pseudo==""){//si les variables sont nulles (donc si on a dit d'envoyer sans avoir rien mis....
		mysql_connect("localhost","root","");
		mysql_select_db("test"); //on se connecte et on choisi la base
		?>
		<div align="center"><!-- ici on prépare le bloc de commentaire-->
		<?php
		$donnee_brut=mysql_query("SELECT * FROM mini_chat_tp ORDER BY ID DESC LIMIT 0,10" ) or die(mysql_error());//on range les 10 derniers messages déjà présents du plus récents au moins récent
		while ($tableau = mysql_fetch_array($donnee_brut) ) //on les remet en tableau associatif
		{
		echo "<div style=border : groove;>"; //le bloc du commentaire
   		echo '<b> <u>'.$tableau['Pseudo'].'</u></b>';//on y met le pseudo qui est souligné + gras
   		echo "<br />";
    	echo "<p>".$tableau['Texte']."</p>";//et maintenant le commentaire
    	echo "</div>";//fin du bloc de ce commentaire
		}?>
		</div>
		<br/>
		<br/>
		<div align="center">
		<form method="post" action="chat.php">
		<em>Pseudo : </em> <input type="text" name="Pseudo"/> 
		<br/>
		<br/>
		<em>Votre texte :</em><br/>
		<input type="textarea" name="Texte"/><br/>
		<input type="submit" value="Envoyer le message"/>
		</form></div>
<?php
	}//fin du si les valeurs sont nulles
	else{//si elles ont une valeurs
		mysql_connect("localhost","root","");
		mysql_select_db("test"); //on se connecte et on choisi la base
		mysql_query("INSER INTO min_chat_tp VALUES ('',$pseudo,$texte)");//on y insert les données
		?>
		<div align="center"><!-- ici on prépare le bloc de commentaire-->
		<?php
		$donnee_brut=mysql_query("SELECT * FROM mini_chat_tp ORDER BY ID DESC LIMIT 0,10" ) or die(mysql_error());//on range les 10 derniers messages déjà présents du plus récents au moins récent
		while ($tableau = mysql_fetch_array($donnee_brut) ) //on les remet en tableau associatif
		{
		echo "<div style=border : groove;>"; //le bloc du commentaire
   		echo '<b> <u>'.$tableau['Pseudo'].'</u></b>';//on y met le pseudo qui est souligné + gras
   		echo "<br />";
    	echo "<p>".$tableau['Texte']."</p>";//et maintenant le commentaire
    	echo "</div>";//fin du bloc de ce commentaire
		}?>
		</div>
		<br/>
		<br/>
		<div align="center">
		<form method="post" action="chat.php">
		<em>Pseudo : </em> <input type="text" name="Pseudo"/> 
		<br/>
		<br/>
		<em>Votre texte :</em><br/>
		<input type="textarea" name="Texte"/><br/>
		<input type="submit" value="Envoyer le message"/>
		</form></div>
<?php
	}//fin du si les valeurs sont complétées
}//fin du si elles existe
	?>
	</body>

</html>



PS je sais qu'il y a plus facile, j'ai vu la correction du TP, mais personnellement j'aimerai savoir ce qui ne va pas dans MON code, où j'ai fait une erreur qui empêche au serveur de donner mon chat et d'y afficher un message.
0
artragis Messages postés 481 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 6 avril 2010 146
26 déc. 2008 à 15:49
Alors après quelques essaies, c'est cette partie là précisément qui ne va pas :
else{//si elles ont une valeurs
		mysql_connect("localhost","root","");
		mysql_select_db("test"); //on se connecte et on choisi la base
		mysql_query("INSER INTO mini_chat_tp VALUES ('','$pseudo','$texte')");//on y insert les données
		?>
0

Discussions similaires