Partage
  • Partager sur Facebook
  • Partager sur Twitter

Condition

chatbot

Sujet résolu
    24 janvier 2017 à 16:59:15

    Bonjour,

    je voudrais faire un chatbot tout simple mais je ne comprend pas pourquoi une condition ne s'applique pas, voici ma page qui traite le message envoyer : 

    <?php
    
    $message = $_POST['message'];
    
    //verifie si le message est vide 
    
    if (!empty($message)){
        
    include'bdd.php';
                    //si le message est enregistrer comme une question ou une reponse :
                    $req = $dbh -> query("SELECT * FROM conversation WHERE question='$message' OR reponse='$message'");
                    while ( $data = $req->fetch()){ 
                       
                       //si le message est dans la table question on affiche la reponse :
                    if ($message == $data['question'] ){
                        
                        $reponse = " Vous :".$data['question']." </br> Robot :".$data['reponse']." </br></br>";
                        echo $reponse;
                        
                    }
                     //si le message est dans la table reponse on affiche la question :
                     else if ($message == $data['reponse'] ){
                        
                        $reponse = " Vous :".$data['reponse']." </br> Robot :".$data['question']." </br></br>";
                        echo $reponse;
                        
                    }
                    //si le message est different des questions et des reponses :
                     else if ($message != $data['question'] || $message != $data['reponse']){
                        
                        $reponse = "Robot : je ne connais pas encore, apprend moi ! </br></br>";
                        echo $reponse;
                         
                     }
                    
                    }
                    
        
    }
    else {
        $reponse = "Je ne peux pas comprendre si tu ecrit a l'encre invisible !";
        echo $reponse;
    }


    voila donc les deux première condition marche bien mais quand je met un message qu'il ne connais pas, donc ni dans la table question ni dans la table réponse il n'affiche pas le echo ($reponse = "Robot : je ne connais pas encore, apprend moi ! </br></br>";)


    je ne comprend vraiment pas, merci

    CDT

    Nathan cohen

    • Partager sur Facebook
    • Partager sur Twitter
      24 janvier 2017 à 17:02:53

      Salut,

      Ca ne serait pas un && à la place de ton || dans ta dernière condition  (en plus tu l’écris toi même : i le message est different des questions ET des reponses

      • Partager sur Facebook
      • Partager sur Twitter
        24 janvier 2017 à 17:54:22

        bonjour,

        D'un autre côté, un simple "else" ferait l'affaire plutôt qu'un "elseif" de plus...

        • Partager sur Facebook
        • Partager sur Twitter
          24 janvier 2017 à 19:26:47

          Bonjour,

          j'ai essayer && sa ne change rien il n'affiche pas le echo j'avais mit and a la base mais rien n'ont plus j'ai essayer comme sa : 

          else{     
               $reponse = "Robot : je ne connais pas encore, apprend moi ! </br></br>";
               echo $reponse;
               }

          toujours pareil..

          -
          Edité par muadib 24 janvier 2017 à 19:42:31

          • Partager sur Facebook
          • Partager sur Twitter

          Condition

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown