Ano*_*ous 122 php forms validation
检查表单是否已提交以确定是否应将表单的变量传递给验证类的最佳方法是什么?
首先我想的可能是:
isset($_POST)
Run Code Online (Sandbox Code Playgroud)
但随着超级全球在各地被定义,这将永远回归真实.我不想通过以下方式遍历表单的每个元素:
if(isset($_POST['element1']) || isset($_POST['element2']) || isset(...etc
Run Code Online (Sandbox Code Playgroud)
在写这个问题时,我想到了一个更基本的解决方案,添加一个隐藏的字段作为我可以检查的标志.
除了添加自己的旗帜之外,还有一种"更清洁"的方式吗?
mat*_*ino 183
一般检查是否有POST
动作使用:
if (!empty($_POST))
Run Code Online (Sandbox Code Playgroud)
编辑:如评论中所述,此方法在某些情况下不起作用(例如,使用复选框和没有名称的按钮).你真的应该使用:
if ($_SERVER['REQUEST_METHOD'] == 'POST')
Run Code Online (Sandbox Code Playgroud)
Ola*_*laf 167
怎么样
if($_SERVER['REQUEST_METHOD'] == 'POST')
Run Code Online (Sandbox Code Playgroud)
Tzs*_*and 68
实际上,提交按钮已经执行此功能.
试试FORM:
<form method="post">
<input type="submit" name="treasure" value="go!">
</form>
Run Code Online (Sandbox Code Playgroud)
然后在PHP处理程序中:
if (isset($_POST['treasure'])){
echo "treasure will be set if the form has been submitted (to TRUE, I believe)";
}
Run Code Online (Sandbox Code Playgroud)
Rik*_*esh 32
使用
if(isset($_POST['submit'])) // name of your submit button
Run Code Online (Sandbox Code Playgroud)
riz*_*zon 13
试试这个
<form action="" method="POST" id="formaddtask">
Add Task: <input type="text"name="newtaskname" />
<input type="submit" value="Submit"/>
</form>
//Check if the form is submitted
if($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($_POST['newtaskname'])){
}
Run Code Online (Sandbox Code Playgroud)