0

次のコードはHTMLおよびphpコードです。送信ボタンが押されたら、practice.phpファイル(test.txtファイルを作成)を実行するよりも欲しいです。しかし、ボタンを押すと、phpはファイルを作成しません。誰もがこれを知っていますか?

<HTML>
    <HEAD>
    </HEAD>
    <BODY onLoad="tid=setInterval('refresh()',1000);">
        <div id="outputDiv"></div>
        <form method=post action="practice.php">
            <script language="JavaScript">
            function refresh()
            {           
                var HTML = "";
                HTML += "<input type=submit value=makefile>";
                document.getElementById("outputDiv").innerHTML = HTML;
            }
            </script>
        </form>
    </BODY>
</HTML> 


<html>
    <head><meta http-equiv="Content-Type" content="text/html" charset="utf-8">
    </head>

    <body>
                <?
                    $fp = fopen("test.txt", "w") or die("cannot open file");
                    $data = "!!!!!!!!!!!!!!!!!!!";
                    fwrite($fp, $data);
                    fclose($fp);
                    echo "!!!!!!!!!!!!!!!";
                ?>
    </body>
</html>
4

2 に答える 2

-1

「a」フラグを使用します。ファイルがない場合は、自動的に作成されます。

$fp = fopen("test.txt", "a")

JQueryを使用してください。簡単です。

<input type="submit" value="Load file" id="button"/>
<script>
//If document is ready.
$(document).ready(function(){

  //If button is clicked.
  $("#button").click(function(){

   //Load a file in "outputdiv" div.
   $("#outputDiv").load("test.txt");

   //Assuming you are trying to refresh div after 1000 ms sec, Therefor:
   setInterval(function(){

    $("#outputDiv").load("test.txt");

     },1000);
   });
  });
</script>
于 2012-12-09T12:21:30.977 に答える
-1

フォーム要素内に送信ボタンを配置する必要があります。<div id="outputDiv"></div>スクリプトは、フォーム要素の外側にある要素の内側に送信ボタンを配置します。送信を押すと、ブラウザは送信するフォームを認識しません。

たとえば、これはより適切に機能します。

<HTML>
    <HEAD>
    </HEAD>
    <BODY onLoad="tid=setInterval('refresh()',1000);">
        <form method=post action="practice.php" id="form">
            <script language="JavaScript">
            function refresh()
            {           
                var HTML = "";
                HTML += "<input type=submit value=makefile>";
                document.getElementById("form").innerHTML += HTML;
            }
            </script>
        </form>
    </BODY>
</HTML>
于 2012-12-09T12:24:06.513 に答える