ここに私の電子機器クラスのためのサーバをホストするために使用している私のPHPスクリプトです。ボタンは単に異なるLEDを点灯させることになっています。 なぜ私のPHP関数は何もしませんか?
<!DOCTYPE html>
<HTML>
<BODY>
<CENTER>
<!-- Header -->
<H1>Raspberry Pi LED Contorl Utility</H1>
<body style="background-color: grey;">
<!-- Configuring Pins -->
<?php
$pins = array(22,27,4,23,24,18,17);
$status = array(0,0,0,0,0,0,0);
//-----Decoration-----
for($i=0; $i<count($pins); $i++){
$bcm = $pins[$i];
system('gpio -g mode '.$bcm.' out');
echo("<img id='LED_'.$bcm.'' src='/res/dots/LED_".$bcm.".png'/>");
} ?>
<br>
<br>
<button type="submit" name="up" style="background-color:transparent; border-color:transparent;">
<img src="res/buttons/up.png" height="40"/>
</button>
<br>
<button type="submit" name="left" style="background-color:transparent; border-color:transparent;">
<img src="res/buttons/left.png" height="40"/>
</button>
<button type="submit" name="right" style="background-color:transparent; border-color:transparent;">
<img src="res/buttons/right.png" height="40"/>
</button>
<br>
<button type="submit" name="down" style="background-color:transparent; border-color:transparent;">
<img src="res/buttons/down.png" height="40"/>
</button>
<?php
$bcm = 27;
system('gpio -g write '.$bcm.' 1');
if(isset($_POST["up"])){$bcm=move($bcm,1);}
if(isset($_POST["down"])){$bcm=move($bcm,3);}
if(isset($_POST["left"])){$bcm=move($bcm,2);}
if(isset($_POST["right"])){$bcm=move($bcm,0);}
?>
</CENTER>
</BODY>
<?php
function move($pin,$dir){
if($pin==22 AND $dir==3){
system('gpio -g write 27 1');
system('gpio -g write 22 0');
$pin = 27;
}elseif($pin==27 AND $dir==3){
system('gpio -g write 4 1');
system('gpio -g write 27 0');
$pin = 4;
}elseif($pin==27 AND $dir==1){
system('gpio -g write 22 1');
system('gpio -g write 27 0');
$pin = 4;
}elseif($pin==27 AND $dir==0){
system('gpio -g write 23 1');
system('gpio -g write 18 1');
system('gpio -g write 27 0');
$pin = 23;
}elseif($pin==4 AND $dir==1){
system('gpio -g write 27 1');
system('gpio -g write 4 0');
$pin = 27;
}elseif($pin==23 AND $dir==0){
system('gpio -g write 17 1');
system('gpio -g write 23 0');
system('gpio -g write 18 0');
$pin = 17;
}elseif($pin==23 AND $dir==2){
system('gpio -g write 27 1');
system('gpio -g write 23 0');
system('gpio -g write 18 0');
$pin = 27;
}elseif($pin==17 AND $dir==2){
system('gpio -g write 23 1');
system('gpio -g write 18 1');
system('gpio -g write 17 0');
$pin = 23;
}
return $pin;
} ?>
は、彼らは大丈夫です、インデントエラーを心配しないでください、ここでのフォーマットは、単に迷惑されています。私はprintステートメントと関数にあらゆる種類のものを追加しようとしましたが、何も現れません。ライトはまったく変化しませんが、関数が呼び出されていないように見えます。
move
関数が問題の関数です。
POSTメソッドでフォームタグがありません。そのため、動作しません。 –
@ Fred-ii-これはどういう意味ですか? – Anonymous
'
'の中にボタンをラップしても動作します。 –