Codeigniter表单验证运行在页面加载

问题描述:

您好,我有一个表单验证这个函数的问题,它在PAGELOAD运行false我做了什么错误?Codeigniter表单验证运行在页面加载

  • 我使用模板模板
  • 安装在子文件夹codeiginiter WordPress的网站后

    public function create()  { 
    
    $this->stencil->title('Tour'); 
    $this->stencil->layout('booktour_layout'); 
    $this->stencil->css('font-awesome'); 
    $this->stencil->paint('booktour_create'); 
    $this->load->helper('form'); 
    $this->load->library('form_validation'); 
    
    
    if($this->form_validation->run() === FALSE) 
    { 
    
        echo "<script>alert('error');</script>";  
    
    } 
    else 
    { 
    
        echo "<script>alert('success');</script>"; 
    
    }  
    } 
    

当我加载网页它在页面加载回声脚本不提交表单

虽然?谢谢

把你的代码放在isset函数中,这意味着它没有提交表单就无法工作。 请与我们的任何输入名称的更改索引

if(isset($_POST['index'])) { 

if($this->form_validation->run() === FALSE) 
{ 

    echo "<script>alert('error');</script>";  

} 
else 
{ 

    echo "<script>alert('success');</script>"; 

} 

} 
+0

谢谢你的工作! – Wolfcain

首先检查是否POST通过使用if(isset($_POST)){<Your Validation Code;>}if(!empty($this->input->post())){<Your Validation Code;>}

希望要求,这将帮助您解决问题

+0

感谢它真的工作 – Wolfcain

+0

很高兴帮助你解决这个问题。如果你喜欢然后投我的答案。谢谢 –

我记得,验证的默认结果是错误的。只有当值通过规则它设置为true。所以虽然没有规则,你会收到假的。

让我来解释一下。写一个控制器:

$this->load->library('form_validation'); 
if($this->form_validation->run() === FALSE) { echo "<script>alert('error');</script>"; } 
else { echo "<script>alert('success');</script>"; } 

并在没有查询的情况下调用它。您将收到错误。这意味着你应该检查该查询是否存在,并在调用验证前至少添加一条规则

+0

是的,但按下提交后,它应该是回声虚假?但它在页面加载回声,认为是另一个具有相同的代码工作的控制器很好-_- – Wolfcain

+0

@Wolfcain我已经扩展了我的答案 – splash58

+0

谢谢你,我会试试这个 – Wolfcain