加载页面时,我的服务器端验证首先出现,我试过了if(!$_REQUEST){
header(.....);
}
在控制器中我的方法开始时,但它似乎不起作用,有人知道合适的索尔吗?
您是使用GET
还是POST
提交表单数据?
如果您使用的是POST
,您可以检查请求方法:
if($_SERVER['REQUEST_METHOD'] == 'POST') {
// Validate form data
}
else {
// Display form
}
如果使用GET
,则应检查是否设置了所需的任何数据。例如:
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一起使用)。您可以在同一页面上轻松地拥有多个表单,只需检查是否存在不同的提交按钮。我发现这对于检查表格是否提交有点优雅;之后,您验证字段(例如,它们是否已填写等)。