0

postメソッドを使用してHtmlフォームをテストしていますが、次の奇妙な結果が得られました。サーバーApache(既にphpがインストールされている)に2つのhtmlページがあります:post.htmlとtarget.html、これらのページのコードは次のとおりです。

post.html(html標準について心配する必要はありません)

    <div style="text-align: center">
       <form method="POST" action="target.html">
          <input type="text" name="testname" value="sometext" />
          <input type="submit" value="submit" />
        </form>
    </div>

およびtarget.html

<html>
  <head>
  </head>
  <body>
    <h1>Target page</h1>
  </body>
</html>

post.htmlページのフォームにデータを入力して送信ボタンを押すと、target.htmlページに移動しました。このページ(target.html)でページを更新すると、空白のページが表示されます。2回目に更新すると、通常のHTMLページになりました。

初めて更新したときに空白ページが返される理由がわかりません。同じアプローチを試しましたが、PHPページを使用しましたが、ターゲットページのコンテンツ(想定名target.php)はまだ残っています(上記のhtmlファイルのように空白ではありません)。 )では、この問題について説明してもらえますか?ありがとうございました。

4

4 に答える 4

1

これは、htmlからhtmlファイルに入力を渡すことができないためです。target.htmlはphpファイル(target.php)である必要があります。このコードをtarget.phpに配置してみてください

<?php
var_dump($_POST); //this will show the inputted text and also show the data type and will stop the code execution here. other codes below will not be executed.
echo $_POST['testname'];
?>

さらに、フォームアクションでtarget.htmlをtarget.phpに変更します

于 2012-08-31T09:06:41.940 に答える
1

これは間違いなくあなたのブラウザと関係があります。Safariを使用しているMacでも同じですが、コンテンツを送信した後の一部のページで、ページがフリーズしているように見えます。更新すると、再び機能します。

私に関する限り、コードの問題ではありません。

于 2012-08-31T06:22:11.440 に答える
0

まず、post.htmlを修正することから始めます

<div style="text-align: center;"> <!-- added a ; after center -->
   <form method="POST" action="target.html">
      <input type="text" name="testname" value="sometext" />
      <input type="submit" value="submit" />
    </form>
</div>

それは問題ではないかもしれませんが、すべてのスタイルを;で終了する必要があります。

続行するには、すべてが正常に見えます。リフレッシュの間に何か奇妙なことが起こったのかもしれません。

于 2012-08-31T06:24:11.603 に答える
0

同じページにphpスクリプトを追加するよりも、フォームページをphpに保存します。ここで、これを試してください。.phpに保存することを忘れないでください。

<?php $testname = $_Post['testname'];
echo $testname ?>


<div style="text-align: center">
       <form method="POST" action="">
          <input type="text" name="testname" value="sometext" />
          <input type="submit" value="submit" />
        </form>
    </div>
于 2012-09-02T05:54:12.500 に答える