Partage
  • Partager sur Facebook
  • Partager sur Twitter

Controler une fonction PHP via HTML

    3 mars 2021 à 15:53:59

    Bonjour,

    Je débute avec PHP et MySQL, j'ai réussi à envoyer, stocker et afficher des valeurs dans ma base de donnée ainsi qu'envoyer des messages mosquitto_pub.
    Maintenant j'aimerai exécuter ma fonction lors d'un clique sur un bouton HTML, mais je me rend compte qu'exécuter du PHP depuis HTML est impossible sauf si on bypass un peu cela :
    <input type="submit" class="button" name="insert" value="insert" />
    <?php
    $bdd = new PDO("mysql:host=localhost;dbname=iotmqtt", "root", "toto");
    if($_GET){
    if(isset($_GET['insert'])){
    test();
    }
    }
    function test(){
    $stmt = $bdd->prepare('INSERT INTO lampe (stats) VALUES (:stats)');
    shell_exec('mosquitto_pub -h localhost -t test -m "ON"');
    $stmt->bindValue(':stats', 'ON', PDO::PARAM_STR);
    $stmt->execute();
    }
    ?>
    
    Lorsque je clique sur le bouton il ne se passe rien !

    PS : Le code pour se connecter et ajouter une valeur à la BDD fonctionne, je pense que ça vient du shell_exec ou du if($GET)
    • Partager sur Facebook
    • Partager sur Twitter
      4 mars 2021 à 7:25:24

      Bonjour,

      J'ai développé tout un système de domotique se basant en partie sur un le protocole mqtt avec mosquitto comme broker et le tout avec Symfony (donc php)

      Déjà il faudrait cerner ce que fait ton traitement ... donc mettre des traces avec des echo, var_dump et aussi regarder ce que retourne les fonctions dont le shell_exec. C'est la base quand on développe et pour avoir un code robuste.

      Met l'adresse IP de ton serveur mosquitto et non localhost.

      Ceci dit, passer par le shell_exec n'est pas forcément une bonne solution et si cela peut fonctionner pour pub comment vas-tu faire si tu veux écouter via sub ?

      Dans ce cas, tu peux développer un client mqtt en php. J'admet si tu débutes que c'est un peu complexe (quoique).

      A+

      -
      Edité par monkey3d 4 mars 2021 à 7:30:28

      • Partager sur Facebook
      • Partager sur Twitter

      Controler une fonction PHP via HTML

      × 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