Bonjour à vous; je viens pour vous demander de l'aide sur un code basique, mais là je vois pas où est mon erreur.
J'ai un tchat tout ce qu'il y a de plus basique, qui fonctionne(ait). Seulement, j'ai voulu ajouter la date et l'heure de chaque message. Et là, PAF, ça merde. J'ai d'abord eu un premier code, qui remplaçait mon message par le Timestamp (pas la date et l'heure, vraiment le timestamp brut): pas terrible quand même ^^. Et puis je l'ai modifié, pour arriver à ça:
J'ai un tchat tout ce qu'il y a de plus basique, qui fonctionne(ait). Seulement, j'ai voulu ajouter la date et l'heure de chaque message. Et là, PAF, ça merde. J'ai d'abord eu un premier code, qui remplaçait mon message par le Timestamp (pas la date et l'heure, vraiment le timestamp brut): pas terrible quand même ^^. Et puis je l'ai modifié, pour arriver à ça:
Code PHP :
<?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", "******", "******");
mysql_select_db("******");
// On utilise la fonction PHP htmlentities pour éviter d'enregistrer du code HTML dans la table
$message = htmlentities ($_POST['message']);
$pseudo = htmlentities ($_POST['pseudo']);
$time = time();
// Ensuite on enregistre le message
mysql_query("INSERT INTO minichat VALUES('', '" . $pseudo . "', '" . $message . "', '" . $time . "')");
// 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="minichat.php" method="post">
<p align="center">
<label>Pseudo :<br /><input type="text" name="pseudo" value="<?php echo $_POST['pseudo']?>" /></label><br /><br />
<label>Message :<br /><textarea name="message" rows="5" cols="35"></textarea></label><br /><br /><br />
<input type="submit" value="Envoyer" />
</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", "******", "******");
mysql_select_db("******");
// On utilise la requête suivante pour récupérer les 10 derniers messages :
$reponse = mysql_query("SELECT * FROM ****** ORDER BY ID DESC LIMIT 0,10");
// 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) )
{
$time = date('d/m/y à H:i', $donnees['time']);
?>
<p><?php echo $donnees['pseudo']; ?> à <?php echo $time; ?>
{
?>
<p><?php echo $donnees['pseudo']; ?> à <?php echo $donnees['time']; ?>
<br />
<?php echo $donnees['message']; ?></p>
<?php
}
?>
Voila le code (désolé, je ne sais toujours pas comment le faire apparaitre en couleurs (si quelqu'un pouvait me le dire, ce serait sympa )). Quand j'essaye d'accéder à la page, ça me dit qu'il y a une erreur. L'erreur se trouve à la ligne 4 de ce code:
Code :
if ($_POST['pseudo'] != NULL AND $_POST['message'] != NULL) // Si on a quelque chose à enregistrer
Je vous demande donc de l'aide pour ce script, là je sèche :S
Merci d'avance
Edit: Merci Archange