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 :

Exécuter un script avec un bouton


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2017
    Messages : 42
    Par défaut Exécuter un script avec un bouton
    Bonsoir,

    Je souhaiterais optimiser un mini site web qui me sert sur un Raspberry pour piloter mes 7 zones de chauffage. J'ai adapté un programme avec différents exemples sur le web. Actuellement pour une action, j'exécute 3 fichiers, j'aimerais en faire 1 et donc le simplifier.

    Exemple :

    Mon premier fichier (index.php) avec les boutons

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    	<form method="get" action="boutons.php">
                <input type="submit" value="SALLE A MANGER CONFORT" name="Z1C">
    <input type="submit" value="SALLE A MANGER ECO" name="Z1E">
    <input type="submit" value="SALLE A MANGER HORS-GEL" name="Z1HG">
        <input type="submit" value="SALLE A MANGER ARRET" name="Z1A">
    <br/>
    <br/>
     
     
                </form>
                </p>
     
     
     
      </body>

    Cela ouvre un second fichier boutons.php

    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
     <?php
     
     
     
     
      if(isset($_GET['Z1A'])){
                                exec ('./Z1arret.sh');
                        }
      if(isset($_GET['Z1C'])){
                                exec ('./Z1confort.sh');
                        }
      if(isset($_GET['Z1HG'])){
                                exec ('./Z1horsgel.sh');
                        }
      if(isset($_GET['Z1E'])){
                                exec ('./Z1eco.sh');
                        }
     ?>
    Et par la suite un troisième fichier : Z1arret.sh

    C'est un script qui envoie sur un composant MCP23017 l'information de changer ou pas d'état.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    gpio -x mcp23017:100:0x20 write 108 1
    gpio -x mcp23017:100:0x20 write 109 0
    J'aimerais donc trouver une solution pour simplifier ce programme sur une page si cela est possible.

    Merci



    Sébastien

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 315
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 315
    Billets dans le blog
    17
    Par défaut
    Sur une page ça pourrait donner ceci.

    Pour d'autres commandes plus tard il suffira d'ajouter un bouton et l'entrée correspondante à $scripts.

    Tu peux même peut-être éviter les .sh et exécuter directement les commandes.


    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
    <?php
     
    $message = null; // Message d'erreur ou de notif
     
    if (isset($_GET['action'])) { // Formulaire soumis ?
        // On mappe les valeurs du formulaires avec les scripts à exécuter
        $scripts = [
            'Z1C' => 'Z1confort.sh',
            'Z1E' => 'Z1eco.sh',
            'Z1HG' => 'Z1horsgel.sh',
            'Z1A' => 'Z1arret.sh',
        ];
        if (!isset($scripts[$_GET['action']])) {
            $message = 'Formulaire invalide';
        }
        if ($message === null) { // À ce stade, pas de message signifie pas d'erreur
            // On peut donc exécuter le script
            $script = './' . $scripts[$_GET['action']]; // On récupère le script à exécuter
            $message = "Script {$script} exécuté"; // Message de confirmation
            exec($script);
        }
    }
     
    ?>
     
    <?php if ($message !== null): ?>
        <p><?= htmlspecialchars($message) ?></p>
    <?php endif ?>
     
    <form method="get">
        <button type="submit" name="action" value="Z1C">SALLE A MANGER CONFORT</button>
        <button type="submit" name="action" value="Z1E">SALLE A MANGER ECO</button>
        <button type="submit" name="action" value="Z1HG">SALLE A MANGER HORS-GEL</button>
        <button type="submit" name="action" value="Z1A">SALLE A MANGER ARRET</button>
    </form>

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2017
    Messages : 42
    Par défaut
    Merci, j'ai mis directement le script dans la première page.

Discussions similaires

  1. lancer script avec un bouton
    Par lostsoul dans le forum Langage
    Réponses: 2
    Dernier message: 22/10/2016, 03h49
  2. Lancement d'une partie du script avec un bouton
    Par arnest dans le forum QlikView
    Réponses: 2
    Dernier message: 31/05/2016, 09h36
  3. [Unity 5] Problème d'exécution de script avec le bouton "play"
    Par eliniel dans le forum Unity
    Réponses: 4
    Dernier message: 30/04/2015, 10h01
  4. Splitter deux fois et exécuter un script avec les valeurs
    Par Sarolion11 dans le forum VBScript
    Réponses: 3
    Dernier message: 31/05/2013, 11h13
  5. Probleme pour exécuter les scripts avec PythonWin
    Par cicelle dans le forum EDI/RAD
    Réponses: 0
    Dernier message: 24/03/2009, 20h08

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