bonjour tout le monde, j´ai pris le script du chat du siteduzero pour m´evitez la peine de tapez tout ca..
apres j´ai decide de rajouter quelque elements ( design, suppression des anciens messages, anti-flood, etc. ) mais deux requetes viennent mettre la pagaille dans mon script..
mieux que de long discours, voila le script.. et l´erreur que me donne mon naviguateur.
et j´ai crée une base´mf´ avec une table qui s´appelle´chat´, avec comme champ:´id´( avec auto incrementation ),´pseudo´,´message´ et ´date´
Parse error: parse error, expecting `T_STRING´ or `T_VARIABLE´ or `T_NUM_STRING´ in c:\documents and
settings\cedric\bureau\projet\manga-forever\chat.p
hp on line 21
hum hum, je n´ai aucune idee de ce que cela veux dire, alor je vous remet tout mon code, si quelq´un trouve l´erreur..
Code:
<?php
if (isset($_POST[´pseudo´]) AND isset($_POST[´message´])) // Si les variables existent
{
if ($_POST[´pseudo´] != NULL AND $_POST[´message´] != NULL) // Si on a quelque chose à enregistrer
{
// D´abord, on se connecte à MySQL
mysql_connect("localhost", "root", "");
mysql_select_db("mf");
$retour = mysql_query("SELECT COUNT(*) AS nbre_entrees FROM chat"); //on compte le nombre d´entrée
$timestamp_pseudo = mysql_query("SELECT date FROM chat WHERE pseudo = ($_POST[´pseudo´])"); //on recupere le timestamp du dernier message poster par le pseudo de $_post[´pseudo´]
if ( $timestamp_pseudo >= time()-30 )
{
echo "pas de flood svp!";
}
else
{
mysql_query("DELETE FROM chat WHERE id > 50"); //on supprime les entrée qui ont une "id" plus grande que 50
$dernier_message = mysql_query("SELECT FROM chat WHERE ID = $retour"); // on recupere le dernier message poster
if( $_post[´message´] = $dernier_message ) // si le message que le client veut enregistrer est le meme que le dernier enregistrer dans la table
{
}
else
{
// On utilise la fonction PHP htmlentities pour éviter d´enregistrer du code HTML dans la table
$message = htmlentities ($_POST[´message´]);
$pseudo = htmlentities ($_POST[´pseudo´]);
$timestamp = (time());
// Ensuite on enregistre le message
mysql_query("INSERT INTO chat VALUES(´´, ´$pseudo´, ´$message´, ´$timestamp´)");
// On se déconnecte de MySQL
mysql_close();
}
}
}
// Que l´on ait enregistré des données ou pas...
// On affiche le formulaire puis les 10 derniers messages
// Tout d´abord le formulaire :
?>
<form action="chat.php" method="post">
<p class="champ">
Pseudo : <input type="text" name="pseudo"/>
Message : <input type="text" name="message"/>
<input type="submit" value="Envoyer" />
<input type="reset" value="Effacer" />
</p>
</form>
<?php
// Maintenant on doit récupérer les 10 dernières entrées de la table
// On se connecte d´abord à MySQL :
mysql_connect("localhost", "root", "");
mysql_select_db("mf");
// On utilise la requête suivante pour récupérer les 10 derniers messages :
$reponse = mysql_query("SELECT * FROM chat ORDER BY ID DESC LIMIT 0,9");
// On se déconnecte de MySQL
mysql_close();
// Puis on fait une boucle pour afficher tous les résultats :
while ($donnees = mysql_fetch_array($reponse) or die(mysql_error()) )
{
?>
<p class="message"><?php echo date(´H\:i´, $donnees[´date´]); ?> <strong><?php echo $donnees[´pseudo´]; ?> </strong>:<? echo $donnees[´message´]; ?> </p>
<?php
}
?>
l´erreur vient de cette partie ( si je l´eneleve tout passe nickel )
$timestamp_pseudo = mysql_query("SELECT date FROM chat WHERE pseudo = ($_POST[´pseudo´])"); //on recupere le timestamp du dernier message poster par le pseudo de $_post[´pseudo´]
if ( $timestamp_pseudo >= time()-30 )
{
echo "pas de flood svp!";
}
else
{
mysql_query("DELETE FROM chat WHERE id > 50"); //on supprime les entrée qui ont une "id" plus grande que 50
$dernier_message = mysql_query("SELECT FROM chat WHERE ID = $retour"); // on recupere le dernier message poster
if( $_post[´message´] = $dernier_message ) // si le message que le client veut enregistrer est le meme que le dernier enregistrer dans la table
{
}
else
{
si quelqu´un peut m´aider parce que la je seche un peu beaucoup..( a mon avis la formation de mes requetes SQL ne sont pas bonnes ( j´ai supposé que le principe etait comme ca^^ )
d´avance.