Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

Messages recommandés

J'ai voulu réaliser un Minichat, mais il me met des erreurs... Je fais des essais en local, avec Easy PHP.

 

Voici mon code:

 

<!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" lang="fr">

<head>

<title>Mini-chat</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

</head>

<style type="text/css">

form

{

text-align:center;

}

</style>

<body>

 

 

<?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("scripts");

 

// On utilise la fonction PHP htmlentities pour éviter d'enregistrer du code HTML dans la table

$message = htmlentities ($_POST['message']);

$pseudo = htmlentities ($_POST['pseudo']);

 

// Ensuite on enregistre le message

mysql_query("INSERT INTO minichat VALUES('', '$pseudo', '$message')");

 

// 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>

Pseudo : <input type="text" name="pseudo" /><br />

Message : <input type="text" name="message" /><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", "root", "");

mysql_select_db("scripts");

 

// On utilise la requête suivante pour récupérer les 10 derniers messages :

$reponse = mysql_query("SELECT * FROM minichat ORDER BY ID DESC LIMIT 0,10")or die(mysql_error());

 

// 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) )

{

?>

 

<p><strong><?php echo $donnees['pseudo']; ?></strong> : <?php echo $donnees['message']; ?></p>

 

 

 

<?php

}

// Fin de la boucle, le script est terminé !

?>

 

 

</body>

</html>

 

Comme vous avez du le remarquer, j'ai mis un Or die MySQL error. Il me renvoie:

 

Notice: Undefined index: pseudo in c:\documents and settings\rafika\bureau\php\minichat.php on line 77

:

Notice: Undefined index: message in c:\documents and settings\rafika\bureau\php\minichat.php on line 77

 

Voici la ligne 77:

 

<p><strong><?php echo $donnees['pseudo']; ?></strong> : <?php echo $donnees['message']; ?></p>

 

Merci!

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

  • En ligne récemment   0 membre est en ligne

    Aucun utilisateur enregistré regarde cette page.

×