我有以下表格:
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脚本只在单击提交按钮时运行,而不是在其他时间运行?
将其添加到页面开头的HTML标记之前
另外,不要忘记将页面名称扩展名从.html
更改为.php
if (isset($_POST['save-text'])) {
// get form data and do stuff here
}
问题是if($_POST["save-text"])
返回false,因此您的代码没有被执行。您需要使用isset()
函数包装$_POST["save-text"]
。isset()可用于检查某个变量的存在,如果某个变量存在并且其值不是NULL
或FALSE
,则返回TRUE
。
正确的代码如下所示:
if (isset($_POST['save-text'])) {
//Do something
}
您还应该确保提交按钮具有"value"属性。如果没有,$_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.