1

こんにちは私は2つのhtmlフォーム入力を押すことによって実行される1つのプログラムから2つのPHP関数を実行しようとしています。2つのボタンを持つテーブル、開始と削除。Startはファイル「ON」を書き込み、Removeはファイル「OFF」を書き込みますが、の両方のボタンをクリックすると、両方の出力がOFFのphpスクリプトが実行されます。助けてください!


ボタン付きのテーブル。

<html>
<TABLE BORDER="3" CELLPADDING="0" CELLSPACING="10">
<TD>
<table BORDER="3" CELLPADDING="3" CELLSPACING="3">
           <TH>Socket 1</th>
           <TR></tr>
           <TD>Serial Number</TD> <TD>ON/OFF</TD>
           <TR></TR>
           <TD>Elapsed Time </TD> 
           <TD><?php
                 include_once ("statusfileon.php")         
                     ?></TD> 
           <TD><?php 
                 include_once ("statusfileoff.php")         
                     ?></td>
           <TR></TR>
           </TABLE>
</TD>
<TD>
<table BORDER="3" CELLPADDING="3" CELLSPACING="3">
           <TH>Socket 2</th>
           <TR></tr>
           <TD>Serial Number</TD> <TD>ON/OFF</TD>
           <TR></TR>
           <TD>Elapsed Time</TD> <TD>Start</TD> <TD>Remove</td>
           <TR></TR>
           </TABLE> 
</TD>
</TABLE>
</html>

Satusfileon.php

<?php // statusfileon.php
      //Write file if button is clicked
      if(isset($_POST['submit'])) {
               statusfileon();
}
?>
<?php //Write file function
function statusfileon(){ //File function name.
$fh = fopen("statusfile.txt", 'w') or die("Fail to create file");
//Text which is displayed in file (on).
$text = <<<_END
on
_END;
fwrite($fh, $text) or die("Could not write to file"); // If file location could not be found file isn't writen.
fclose($fh); //Close file.
}
?>
<html>
   <!--Button and variable for file permission. -->
    <form action="<?=$_SERVER['PHP_SELF'];?>" method="post">
     <input type="submit" name="submit" value="Start">
      </form>
</html>

statusfileoff.php

<?php // statusfileoff.php
      //Write file if button is clicked.
      if(isset($_POST['submit'])) {
               statusfileoff();
}
?>
<?php //Write file function 
function statusfileoff(){ //File function name.
$fh = fopen("statusfile.txt", 'w') or die("Fail to create file");
//Text which is displayed in file (off).
$text = <<<_END
off 
_END;
fwrite($fh, $text) or die("Could not write to file"); // If file location could not be found file isn't writen.
fclose($fh); //Close file.
}
?>
<html>
   <!--Button and variable for file permission. -->
    <form action="<?=$_SERVER['PHP_SELF'];?>" method="post">
     <input type="submit" name="submit" value="Remove">
      </form>
</html>

私はプログラミングに不慣れなので、どんな助けでも喜んでいただければ幸いです。悪い習慣を許してください。

4

1 に答える 1

2
  <TD><?php
       include_once ("statusfileon.php")         
  ?></TD> 
       <TD><?php 
             include_once ("statusfileoff.php")         
  ?></td>

PHPは、HTMLが提供される前にサーバーによって実行されます。したがって、ボタンをクリックしてPHP関数を呼び出すのとは異なります。

この場合、statusfileon()が実行され、その直後にstatusfileoff()が実行されてから、ページがブラウザに提供されます。ボタンのクリックは何もしていません。


コードを実行するために、探している動作が必要な場合は、HTMLリンクを使用して、ユーザーをボタンにリダイレクトするstatusfileon.phpか、ボタンをクリックすることをお勧めします。statusfileoff.php

于 2012-11-02T11:25:41.760 に答える