IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Problème de minichat


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2005
    Messages : 12
    Par défaut Problème de minichat
    Bonsoir ,


    J'ai essayé d'intégrer un mini chat à mon site.

    Mais malheureusement quand j'entre le pseudo et le message , rien ne s'affiche juste le ":"

    Voici mon code pour le minichat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
     
       1.
          <?php
       2.
          if (isset($_POST['pseudo']) AND isset($_POST['message']))
       3.
          {
       4.
              if ($_POST['pseudo'] != NULL AND $_POST['message'] != NULL)
       5.
              {
       6.
     
       7.
                  include("config.php");
       8.
     
       9.
                  $message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
      10.
                  $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
      11.
     
      12.
                  mysql_query("INSERT INTO `chat` VALUES('', '$pseudo', '$message')");
      13.
                  mysql_close();
      14.
     
      15.
              }
      16.
          }
      17.
          ?>
      18.
          <?php
      19.
                  include("config.php");
      20.
     
      21.
                  $reponse = mysql_query("SELECT * FROM chat ORDER BY ID DESC LIMIT 0,10");
      22.
     
      23.
                          mysql_close();
      24.
     
      25.
                  while ($donnees = mysql_fetch_array($reponse))
      26.
          {
      27.
          ?>
      28.
          <p><?php echo $donnees['pseudo']; ?> : <?php echo $donnees['message']; ?></p>
      29.
          <?php
      30.
          }
      31.
          ?>
    J'aimerai savoir ce qui cloche :s
    Pourtant les données sont bien stockées dans la BDD , mais rien ne s'affiche..
    Le fichier config.php contient les données pour se connecter à la BDD.

    Et voici le code HTML pour le formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
       1.
          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
       2.
     
       3.
          <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
       4.
     
       5.
                  <head>
       6.
     
       7.
                    <title>Chat</title>
       8.
     
       9.
                    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
      10.
                    <link rel="stylesheet" media="screen" type="text/css" title="Design" href="design/connexion.css" />
      11.
     
      12.
                  </head>
      13.
     
      14.
                  <body>
      15.
                      <div id="header">
      16.
     
      17.
                                  </div>
      18.
     
      19.
                                  <div id="menu">
      20.
                                  <div class="element_menu">
      21.
                                          <h5>Menu</h5>
      22.
                                              <ul>
      23.
                                                          <li><a href="index.php">News</a></li>
      24.
                                              </ul>
      25.
                              </div>
      26.
                                  </div>
      27.
                                  <div id="corps">
      28.
                                    <fieldset>
      29.
                                     <legend>Chat</legend>
      30.
                          <form method="post" action="chat.php">
      31.
                                           <p><label for="pseudo">Votre pseudo:</label><br/><input type="text" name="pseudo" id="pseudo"/></p>
      32.
                                           <p><label for="message">Votre message:</label><br/><input type="text" name="message" id="message"/></p>
      33.
                                           <p><input type="submit" value="Envoyer"/> <input type="reset"/>
      34.
          ...
    Merci d'avance

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Août 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 514
    Par défaut
    Bonjour,
    donc en fait, vous voulez stocker les messages dans la base de donnée et toutes les secondes, capturer les 10 dernières messages et les afficher sur la page.

    Sachant que l'insertion se passe bien, pourquoi nous noyer avec une partie du code qui n'est pas en faute. C'est le SELECT et le code d'affichage qui est en cause.

    Vous devriez, faire plus attention à la gestion des erreurs, sinon vous n'arriverez jamais à la fin de votre projet.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $reponse = mysql_query("SELECT * FROM chat ORDER BY ID DESC LIMIT 0,10");
     
    // CECI SERAIT UN PLUS NON NÉGLIGEABLE
    if (!$reponse) exit('Erreur :'.mysql_error());
    Etc.

    Cordialement,
    DaRiaN.

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2005
    Messages : 12
    Par défaut
    Merci pour la réponse ,

    Je voudrais préciser que je suis débutant dans ce langage et je préfére mettre trop ( d'information ) que trop peu

    Par contre ça ne change rien à mon problème .... :s

  4. #4
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    Pourquoi ne pas utiliser un espace membre et l'adapter à ton besoin ?
    Ou mieux, récupérer un script de tchat déjà tout fait ?

  5. #5
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2005
    Messages : 12
    Par défaut
    Ici c'est juste pour tester après j'adapte

    Mais j'aimerai savoir ( comprendre ) pourquoi ça ne marche pas :s

  6. #6
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    Je crois que ça vient du mysql_close juste avant le code de la ligne 25 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while ($donnees = mysql_fetch_array($reponse))

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Août 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 514
    Par défaut
    Pour comprendre, créez un nouveau script PHP avec comme seule fonction d'afficher les 10 dernières lignes ajoutées à la table chat. Si vous y arrivez, remplacez l'ancien bloc par le nouveau.

Discussions similaires

  1. Problème d'installation oracle 8.1.7 sous NT
    Par Anonymous dans le forum Installation
    Réponses: 7
    Dernier message: 02/08/2002, 14h18
  2. Problème d'impression
    Par IngBen dans le forum C++Builder
    Réponses: 7
    Dernier message: 22/05/2002, 11h37
  3. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10
  4. Réponses: 6
    Dernier message: 25/03/2002, 21h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo