-PHP- script mini chat [Résolu/Fermé]

Signaler
Messages postés
126
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
6 août 2009
-
 matheux -
Bonjour,
voivi mon script de chat mais je sais pas pourquoi il affiche que le premier message posté et les autre ne les envoie pas a la base de donnees :


<?php
if (isset($_POST['user']) AND isset($_POST['message']))
{
if ($_POST['user'] != NULL AND $_POST['message'] != NULL)
{
mysql_connect("localhost", "root", "");
mysql_select_db("test");

$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
$user = mysql_real_escape_string(htmlspecialchars($_POST['user']));

mysql_query("INSERT INTO chat VALUES('', '$user', '$message')");

mysql_close();
}
}?>

<form action="test1.php" method="post">
<p>
Votre pseudo: <input type="text" name="user" />

Votre message: <input type="text" name="message" />

<input type="submit" value="Wazaaaaa" />
</p>
</form>

<?php
mysql_connect("localhost", "root", "");
mysql_select_db("test");
$reponse = mysql_query("SELECT * FROM chat ORDER BY ID")or die(mysql_error());
mysql_close();
while ($donnees = mysql_fetch_array($reponse) )
{
?>
<p><strong><?php echo $donnees['user']; ?></strong> : <?php echo $donnees['message']; ?></p>
<?php
}

?>

2 réponses

Messages postés
15
Date d'inscription
dimanche 18 janvier 2009
Statut
Membre
Dernière intervention
5 mai 2009
1
Bonsoir :
j'ai testé ton code et en effet, il y a bien une erreur et c'est à la ligne de ta requête d'insertion... je sais c'est souvent la faute que les programmeurs débutants (comme moi) font mais il ne faut pas confondre les guillemets avec les apostrophes, voici ce que devrait donner un code un peu mieux rangé :

<?php
$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
$user = mysql_real_escape_string(htmlspecialchars($_POST['user']));
$sql = 'INSERT INTO chat VALUES("", ".$user.", ".$message.")'; //n'hésitons pas à abuser des variables qui simplifient le script !!!! ;-) N'oublie pas les guillemets et les points que j'ai rajoutés.
$req = mysql_query($sql) or die(mysql_error());
$data = mysql_fetch_array($req);
?>

Et voilà ton code modifié. Après tu dois voir avec la suite mais je pense que tu sauras te débrouiller.
Bon courage
Fixer