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

Posté(e)

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!

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...