Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    130

    pulsante PHP genera evento PYTHON

    Salve a tutti. Chiedo subito scusa se la domanda può risultare stupida ma sono veramente alle prime armi con PHP... Per ora conosco solo HTML e CSS e da pochissimo mi son messo a studiare PHP. Un mio amico in un suo progetto mi ha chiesto se sapevo far questo... ovvero, lui con la schedina Raspberry Pi ha programmato in PYTHON delle istruzioni ( esempio attiva o disattiva relè), io per divertimento ho creato una semplicissima pagina HTML con pulsante. Ora, come potrei far si che cliccando quel pulsante, dia l'attivazione al comando in python e quindi mi attivi o disattivi il relè? Mi han detto che si fa con PHP ma non ho idea di come fare... o almeno mi potreste dire cosa dovrei sapere/imparare per fare una cosa del genere? Per ora conosco solo poco di PHP come fare calcoli semplici con variabili, array, cicli ecc ma non di più... mi date una mano? Grazie mille a chi mi aiuta anche un pochino!!

  2. #2
    Innanzitutto catturi la request della form dove hai i tui pulsanti, quindi a seconda del pulsante (credo che ognuno sia un comando diverso, giusto?) valorizzi la variabile $commandToExec (per esempio) e la passi alla funzione shell_exec di php:
    codice:
    $pulsante = $REQUEST["pulsante"]; //attenzione alla sicurezza se il tuo script php è esposto a internet
    //crea uno switch di comandi da eseguire a seconda del pulsante
    switch ($pulsante)
    {
        case "1": //1 è solo un esempio del valore del pulsante premuto
        $commandToExec  = "python script1.py"; //esegue i comandi riferiti al pulsante 1 scritti in uno script python sul server
        break;
        case "2":
        // ecc.
        break;
    }
    
    $output = shell_exec($commandToExec);
    
    // se vuoi vedere il risultato del comando mostra:
    echo "<pre>$output</pre>";
    Ciao!

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    130
    Intanto grazie mille...! Speravo in qualcosa di più semplice, sono proprio alle prime armi...
    In pratica ho fatto due pulsanti con photoshop... ON e OFF. Il primo accende una lampadina e il secondo la spegne. Io vorrei che al click del pulsante ON mi partisse l'istruzione script1.py e al click del pulsante OFF mi partisse l'istruzione script2.py. Ma come collego la parte di PHP all'immagine?

    quindi in pratica nel file pulsanti.php avrò:

    <body>
    <img src="ON.jpg">
    <?php


    $pulsante = $REQUEST["pulsante"]; //attenzione alla sicurezza se il tuo script php è esposto a internet
    //crea uno switch di comandi da eseguire a seconda del pulsante
    switch ($pulsante)
    {
    case "1": //1 è solo un esempio del valore del pulsante premuto
    $commandToExec = "python script1.py"; //esegue i comandi riferiti al pulsante 1 scritti in uno script python sul server
    break;
    case "2":
    // ecc.
    break;
    }


    $output = shell_exec($commandToExec);
    ?>

    Ma non credo sia corretto...
    Son proprio gnorri...

  4. #4
    l'immagine non è un pulsante.
    per pulsante intendiamo un tag input:
    Codice PHP:
    <input type="submit" name="btn" value="Invia"
    l'immagine che te chiami pulsante, per la pagina web è solo una immagine.

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    130
    Quote Originariamente inviata da fermat Visualizza il messaggio
    l'immagine non è un pulsante.
    per pulsante intendiamo un tag input:
    Codice PHP:
    <input type="submit" name="btn" value="Invia"
    l'immagine che te chiami pulsante, per la pagina web è solo una immagine.
    Grazie ancora a tutti... ! Ok... Ma se volessi fare la stessa cosa non con un pulsante di input ma con con un'immagine...? Non si potrebbe fare lo stesso? Graficamente sarebbe tutta un'altra cosa...

  6. #6
    bhe potresti modificare lo stile del pulsante e rendrlo come l'immagine.
    ad esempio: http://stackoverflow.com/questions/2...-submit-button

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    130
    Giusto è vero...! E così ho fatto! Bene bene...

    Ora ho però provato a fare l'upload in internet ma , oltre a caricarmi la pagina index.php con il mio bel pulsante mi dice anche:
    Warning: shell_exec() has been disabled for security reasons in line 59

    Praticamente la line 59 è quella dove c'è la riga: $output = shell_exec($commandToExec);

    Attualmente il codice è questo:

    codice:
    <div id="submitForm">
                        <input type="submit" value=" " name="luci" alt="Gestione luci" onMouseover="alert(Luci)">
    
    
                    <?php 
    $pulsante = $REQUEST["luci"]; //attenzione alla sicurezza se il tuo script php è esposto a internet
    //crea uno switch di comandi da eseguire a seconda del pulsante
    switch ($pulsante)
    {
    case "1": //1 è solo un esempio del valore del pulsante premuto
    $commandToExec = "python script1.py"; //esegue i comandi riferiti al pulsante 1 scritti in uno script python sul server
    break;
    case "2":
    // ecc.
    break;
    }
    $output = shell_exec($commandToExec);
    ?>
        </div>
    Non ho ancora a portata di mano il file in python... che sia per quello?

  8. #8
    probabilmente la configurazione php del server non prevede la possibilità di lanciare quel comando per questioni di sicurezza.

    se stai caricando su lo spazio web acuistato da un provider o su un tuo server personale?

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    130
    Quote Originariamente inviata da fermat Visualizza il messaggio
    probabilmente la configurazione php del server non prevede la possibilità di lanciare quel comando per questioni di sicurezza.

    se stai caricando su lo spazio web acuistato da un provider o su un tuo server personale?
    E' uno spazio web acquistato da Aruba, server Windows... Sto sfruttando dello spazio del sito dell'azienda in cui lavoro... questo è il link del progettino... Ma il codice che ho messo allora sarebbe corretto?

    http://www.fllivicari.it/domotic/index.php

    grazie ancora...

  10. #10
    uhm allora penso che sia bloccata la funzione.
    dovresti sentire aruba per conferma.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.