2

私は次のフォームを持っています:

HTML

<form id="myForm" action="" method="post">
<div id="edit-box">
<INPUT type="submit" name="save-text" id="save-text" value="Save">
<textarea id="editor" name="editor">
<?php echo $content; ?>
</textarea>
</div>
</form>

PHP

if ($_POST["save-text"]){
    // get form data and do stuff here
}

送信ボタンがクリックされたときにのみPHPスクリプトが実行され、それ以外の時間は実行されないようにするにはどうすればよいですか?

4

2 に答える 2

2

ページの先頭にあるHTMLタグの前にこれを追加します。また、ページ名拡張子をからに
変更することを忘れないでください.html.php

if (isset($_POST['save-text'])) {
    // get form data and do stuff here
}
于 2012-09-20T05:21:45.090 に答える
1

問題は、if($_POST["save-text"])falseを返すため、コードが実行されないことです。$_POST["save-text"]関数でをラップする必要がありisset()ます。isset()を使用して、特定の変数の存在を確認し、変数が存在し、またはTRUE以外の値を持っているかどうかを返します。NULLFALSE

正しいコードは次のようになります。

if (isset($_POST['save-text'])) {
    //Do something
}

また、送信ボタンに「値」属性があることを確認する必要があります。そうでない場合、$ _ POST配列に値がないため、isset($ _ POST ["submit"])はfalseを返します。

例:

<input type="submit" name="submit">

isset($_POST["submit"])   // returns false

<input type="submit" name="submit" value="submit">

isset($_POST["submit"])   // returns true.
于 2012-07-31T03:50:09.873 に答える