1

我的服务器端验证在页面加载时首先出现,我已经尝试 if(!$_REQUEST){ header(.....); } 在控制器中我的方法开始时,但它似乎不起作用,有人知道正确的 sol 吗?

4

3 回答 3

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
}
于 2013-08-18T02:34:40.343 回答
1

我这样做是为了解决问题

public function funName(){

// to avoid validation when the page loads
if($_SERVER['REQUEST_METHOD'] != 'POST') {
$this->load->view('user/index');
}

     ... //rest of content

}

于 2013-08-18T02:47:41.600 回答
0

你也可以有一个<input type="submit" name="submit" value="Submit" />并且你可以检查if (isset($_POST['submit'])) { ...(我假设你正在使用 Post;大多数表单应该是 Post,但它也可以与 Get 一起使用)。您可以轻松地在同一页面上拥有多个表单,并且只需检查是否存在不同的提交按钮。我发现这对于检查表单是否已提交更优雅一些;之后您验证这些字段(例如,它们是否被填写,等等)。

于 2013-08-18T06:50:47.773 回答