2016-11-05 8 views
0

ブラウザのアドレスバーに192.168.x.xx/?$nと入力してから、ラスターベイは変数$nに相当するpwm信号を(WiringPiライブラリを使用して)送信しますLED。私はちょうどPHPで始まっているので、ここで助けが必要です。私が今考えていること:PHPを使用してユーザー入力を取得する

<?php 
exec("gpio mode 1 pwm"); 
//declare $n as a variable (integer maybe) 
//$n = the user input value from browser (I only know $_GET, pretty sure it's not this right?) 
exec("gpio pwm 1 "+$n); 
?> 

助けと指針をいただければ幸いです。

+0

http://www.w3schools.com/php/php_forms.aspご入力のための – zwcloud

答えて

1

あなたは、このようなURLを介してデータを入力する必要が...

192.168.x.xx/?data=n    //n is of type int 


//php script 
<?php 
$n=$_GET['data']; 
exec("gpio mode 1 pwm"); 
//declare $n as a variable (integer maybe) 
//$n = the user input value from browser (I only know $_GET, pretty sure it's not this right?) 
exec("gpio pwm 1 ".$n); 
?> 
+0

おかげで、あなたが提案したコードを使用して、変数$ nは型文字列です。正しいのですか?整数に変換できますか? – daQuincy

+0

この回答は、 'data'ではなく、GETパラメータ' n'を参照する必要があります。そして、その価値は浄化されるべきです。ユーザーの入力を信頼しないでください。 – Chris

+0

@daQuincy、あなたの可変型の質問については、PHPはタイピングに関する興味深いアイディアを持っています。 https://secure.php.net/manual/en/language.types.type-juggling.phpを参照してください。「PHPは変数宣言で明示的な型定義を必要としません(サポートする);変数の型は変数が使用されているコンテキスト。 " (いずれにしても、 'exec()'と一緒に使うつもりなら、文字列でなければなりません) – Chris

関連する問題