Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    36

    Eseguire programma passando una variabile e visualizzare risposta

    Ciao
    Scusate la domanda da pivello, ma che comandi posso usare per :

    Visualizzare un bottone e una textbox
    Alla pressione del bottone eseguire uno shell script passandone il valore digitato nella textbox come input
    Visualizzare sulla medesima pagina il valore ritornato dallo shell script

    C'e' eventualmente qualche esempio in rete ??

    Grazie mille
    Ciao

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    36
    Grazie per la risposta ma...
    Non ci cavo un ragno dal buco.......

    shell-exec dovrebbe eseguire un cmd shell, io devo eseguire uno script passandogli un argomento

    L'ho imbastita cosi' :

    <html>
    <head>
    <title>A BASIC HTML FORM</title>

    <?php
    if (isset($_POST['Submit1']))
    {
    $username = $_POST['username'];
    system('/home/ubuntu/num.sh $username');
    }
    ?>

    </head>
    <body>

    <FORM NAME="form1" METHOD="POST" ACTION="prova.php">

    <INPUT TYPE="Text" VALUE="username" NAME="username">
    <INPUT TYPE="Submit" Name="Submit1" VALUE="Login">

    </FORM>

    </body>


    La pagina si chiama prova.php
    La riga in rosso l'ho provata in tutte le salse,

    exec
    system
    passthrough
    pcntl_exec

    il programma viene eseguito ma non viene passata la variabile ad esso
    la variabile e' un numero

    in pratica se da console digito :

    /home/ubuntu/num.sh 123

    il prg vene eseguito e mi processa il n. 123

    se lo faccio da php il programma viene eseguito ma non ha input da processare.....

    Forse sbaglio la sintassi

    Qualche suggerimento ???

    Grazie

  4. #4
    Utente di HTML.it L'avatar di garakkio
    Registrato dal
    Dec 2011
    residenza
    Roma
    Messaggi
    480
    Qua siamo proprio alle basi.... leggiti un po' di documentazione: http://php.net/manual/it/language.types.string.php
    E come dicevo prima: ESCAPE! Non usare variabili che ti arrivano dall'utente senza prima passarle per un escape

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    36
    eh...proprio alle basi, si ......
    purtroppo sono troppo vecchio per aver avuto un ' infarinatura di programmazione a scuola ( allora il massimo era l'assembler con il 6805.....)
    grazie comunque per il link, interessante ma fino al punto in cui appunto mancano mie conoscenze di base.

    pensi comunque che il mio problema sia sulla sintassi della parte php ??
    grazie

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    36
    Cerca e ricerca , mi rispondo da solo sperando che chi abbia un problema analogo possa trarne beneficio :

    La riga

    system('/home/ubuntu/num.sh $username');

    DEVE essere scritta in uno di questi due modi :

    system('/home/ubuntu/num.sh '.$username.'');

    (prima della parentesi finale ci sono due singoli apici non uno doppio)

    oppure

    system("/home/ubuntu/num.sh $username");

    dove tutto cioe' path + variabile e' compreso tra doppi apici (o virgolette)

    mi resta ancora nebuloso il consiglio di passare l'input utente tramite un escape (suppongo per non permettere all'utente qualsiasi di inoltrare comandi dannosi per l'integrita' del sistema

    Intanto cerco come fare , se qualche buon' anima ha una dritta.....

    Ciao

  7. #7

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    36
    Quote Originariamente inviata da garakkio Visualizza il messaggio
    Garakkio,

    ho risolto cosi' :

    system('/home/ubuntu/num.sh '.escapeshellarg($username));

    (notare lo spazio tra num.sh e l'apice)

    Sembra funzionare tutto
    spero sia corretto

    Grazie mille

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 © 2025 vBulletin Solutions, Inc. All rights reserved.