Chat

Résolu
Utilisateur anonyme -  
Konseil Messages postés 641 Date d'inscription   Statut Membre Dernière intervention   -
Salut, je suis entrain de faire un petit chat pour mon site, pour ça j'ai pris celui de openclassroom, https://openclassrooms.com/courses/concevez-votre-site-web-avec-php-et-mysql/tp-un-mini-chat J'ai copié collé les ligne de code, mais une erreur s'affiche quand je charge la page. Voilà l'erreur : http://hpics.li/24b3a53 J'y connais absolument rien en php et en mysql donc j'ai juste copié collé, je pense qu'il manque un endroit où stocker les message non ?

4 réponses

  1. Konseil Messages postés 641 Date d'inscription   Statut Membre Dernière intervention   434
     
    Est ce que tu as configuré ta base de données MySQL sur ton serveur?
    0
    1. Utilisateur anonyme
       
      euh nop ... faut faire quoi ?
      0
    2. Utilisateur anonyme
       
      je crois que dans le footer je vais mettre : créé à 1 % par Destineos et 99% par Konseil mdr ^^
      0
    3. Konseil Messages postés 641 Date d'inscription   Statut Membre Dernière intervention   434
       
      Oui tu mets
       © copyright Konseil

      Tu dois aller dans le Control Panel de ton serveur et te rendre dans la gestion des bases de données, tu pourras créer un compte utilisateur et créer des bases de données.

      Mais si tu veux pas te prendre la tête, tu peux stocker tes messages dans un fichier texte sans utiliser MySQL.

      Créer un Mini Chat
      0
    4. Utilisateur anonyme
       
      j'fini de manger et je vois merci
      0
    5. Utilisateur anonyme
       
      euh je peux faire les deux mais vus qu'il n'y aura qu'une petite centaine de msg je pense autant mettre sa sur un fichier txt, tu peux me dire comment faire stp ?
      0
  2. Konseil Messages postés 641 Date d'inscription   Statut Membre Dernière intervention   434
     
    Tu vas avoir besoin de créer 3 fichiers, je vais les poster ici, 1 par 1.
    minichat.html

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta http-equiv="Content-Language" content="fr" />
    <title>Teste d'un formulaire AJAX</title>
    <head>
    <style type="text/css">
    .bordure{
    border:1px solid red;
    margin:5px;
    padding:5px;
    }
    </style>
    <script type="text/javascript" src="fonctions.js"></script>
    </head>

    <body>

    <form method="post" id="monform">
    Pseudo : <input type="text" name="pseudo" id="pseudo" value=""/><br/>
    Message : <input type="text" name="message" id="message" value=""/><br/>
    Envoyer : <input type="button" value="Go" onclick="teste_ajax()">
    </form>

    <div id="mondiv">La réponse sera affiché à la place de ce texte.</div>

    </body>
    </html>
    0
    1. Utilisateur anonyme
       
      j'ai déjà les fichier minichat.php et minichat_post.php pris sur le site du zéro je les gardes ?
      0
  3. Konseil Messages postés 641 Date d'inscription   Statut Membre Dernière intervention   434
     
    fonctions.js

    //Fonction d'instance permettant de vérifier si le navigateur supporte l'objet XMLHTTPRequest
    function objet_XMLHttpRequest()
    {
    //On déclare une variable "mavariable" à null
    var mavariable = null;
    //Teste si le navigateur prend en charge les XMLHttpRequest
    if (window.XMLHttpRequest || window.ActiveXObject){
    // Si Internet Explorer alors on utilise les ActiveX
    if(window.ActiveXObject){
    //On teste IE7 ou supérieur
    try{
    mavariable = new ActiveXObject("Msxml2.XMLHTTP");
    }
    //Si une erreur est levée, alors c'est IE 6 ou inférieur
    catch(e){
    mavariable = new ActiveXObject("Microsoft.XMLHTTP");
    }
    }
    //Navigateurs récents (Firefox, Opéra, Chrome, Safari, ...)
    else{
    mavariable = new XMLHttpRequest();
    }
    }
    //XMLHttpRequest non supporté par le navigateur
    else{
    alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
    return null;
    }
    //On retourne l'objet mavariable
    return mavariable;
    }
    function teste_ajax(){

    //On déclare une variable
    var mavariable = objet_XMLHttpRequest();

    //récupération des données
    var pseudo = encodeURIComponent(document.getElementById("pseudo").value);
    var message = encodeURIComponent(document.getElementById("message").value);

    //Si le pseudo est vide
    if(pseudo == ''){
    //On lance une alert
    alert('Pseudo vide!');
    //On stop tout
    return false;
    }
    //idem pour le message
    if(message == ''){
    alert('Message vide!');
    return false;
    }

    //On assigne une fonction à la propriété onreadystatechange
    mavariable.onreadystatechange = function(){
    //Si l'attribut readyState renvoie 4 et que l'attribut status renvoie 200
    if(mavariable.readyState == 4 && mavariable.status == 200){
    //On affiche le résultat chargé dans l'attribut responseText qui est affiché dans un div nommé "mondiv"
    document.getElementById("mondiv").innerHTML=mavariable.responseText;
    //On vide le champ message
    document.getElementById("message").value='';
    }
    };

    //On déclare la méthode d'envoie
    mavariable.open("POST","traitement.php",true);
    //On assigne un header
    mavariable.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    //On envoie
    mavariable.send("pseudo="+pseudo+"&message="+message);
    }
    //Fonction permettant de rafraichir le div "mondiv"
    function refresh()
    {
    var xhr = objet_XMLHttpRequest();
    xhr.onreadystatechange = function() {
    if(xhr.readyState == 4 && xhr.status == 200){
    document.getElementById("mondiv").innerHTML = xhr.responseText;
    }
    };
    xhr.open("POST","tchat.txt", true);
    xhr.send(null);
    }
    //On lance la fonction toute les secondes
    setInterval("refresh()", 1000);
    0
  4. Konseil Messages postés 641 Date d'inscription   Statut Membre Dernière intervention   434
     
    traitement.php

    <?php
    //Vérification des données
    $pseudo = (isset($_POST["pseudo"])) ? $_POST["pseudo"] : NULL;
    $message = (isset($_POST["message"])) ? $_POST["message"] : NULL;

    //On créé une variable pour donner un nom au fichier
    $fichier = "tchat.txt";

    //On ouvre le fichier. Si il n'existe pas il sera créé automatiquement
    $fichier_a_ouvrir = fopen ($fichier, "a+");
    //On écrit dans le fichier
    fwrite($fichier_a_ouvrir, '<div class="bordure">'.$pseudo.' : '.$message.'</div>');
    //On ferme la connexion
    fclose ($fichier_a_ouvrir);

    //On ouvre le fichier en lecture
    $fichier_a_ouvrir = fopen ($fichier, "r");
    //On lit son contenu
    $contenu_du_fichier = fgets($fichier_a_ouvrir, 1024);
    //On affiche son contenu
    echo $contenu_du_fichier;
    //On ferme la connexion
    fclose ($fichier_a_ouvrir);
    ?>
    0
    1. Utilisateur anonyme
       
      j'ai déjà les fichier minichat.php et minichat_post.php pris sur le site du zéro je les gardes ?
      0
    2. Konseil Messages postés 641 Date d'inscription   Statut Membre Dernière intervention   434
       
      Non, tu supprimes tout, tu prends juste les 3 là.
      0
    3. Utilisateur anonyme
       
      oki ;)
      0
    4. Utilisateur anonyme
       
      par contre les tab sont pas mis c'est grave ?
      0
    5. Konseil Messages postés 641 Date d'inscription   Statut Membre Dernière intervention   434
       
      Non, c'est pas bien grave
      0