我的服务器端验证在页面加载时首先出现,我已经尝试
if(!$_REQUEST){
header(.....);
}
在控制器中我的方法开始时,但它似乎不起作用,有人知道正确的 sol 吗?
3 回答
Are you using GET
or POST
to submit your form data?
If you're using POST
, you can check the request method:
if($_SERVER['REQUEST_METHOD'] == 'POST') {
// Validate form data
}
else {
// Display form
}
If you're using GET
you should check if any of the data you need is set. For example:
if(isset($_GET["arg1"]) || isset($_GET["arg2"]) || isset($_GET["arg3"]) || ...) {
// Validate data
}
else {
// Display form
}
我这样做是为了解决问题public function funName(){
// to avoid validation when the page loads
if($_SERVER['REQUEST_METHOD'] != 'POST') {
$this->load->view('user/index');
}
... //rest of content
}
你也可以有一个<input type="submit" name="submit" value="Submit" />
并且你可以检查if (isset($_POST['submit'])) { ...
(我假设你正在使用 Post;大多数表单应该是 Post,但它也可以与 Get 一起使用)。您可以轻松地在同一页面上拥有多个表单,并且只需检查是否存在不同的提交按钮。我发现这对于检查表单是否已提交更优雅一些;之后您验证这些字段(例如,它们是否被填写,等等)。