Php codeigniter在同一页上显示错误消息

Php codeigniter在同一页上显示错误消息,php,codeigniter,Php,Codeigniter,关于codeigniter的另一个问题,这里有一些细节: 查看页面: <?php if (isset($error)){echo $error; } ?> <form action="<?php echo site_url('mem_posting/post');>" method="post"> <input type="text" name="fname"> some fields goes here... </form>

关于codeigniter的另一个问题,这里有一些细节:

查看页面:

<?php if (isset($error)){echo $error; } ?>
<form action="<?php echo site_url('mem_posting/post');>" method="post">  
<input type="text" name="fname">
some fields goes here...
</form>  
模型页:

public function insert_member($post_data=array())  
{  
 extract($post_data);
 $this->db->where('member_id', $member_id);
 $this->db->insert('membership', $post_data); 

}

public function check_member($post_data=array())  
{  
    extract($post_data);
    $this->db->select('mem_id');
    $this->db->where('mem_id', $mem_id);
    $query = $this->db->get('membership'); 

    if ($query->num_rows() > 0){
        return true;            
    }else{
         return false;  
    }
}  
正如您可以看到的,视图页面包含表单,现在我想要实现的是回显一个错误,如“已经存在”,这样我就不必在if语句中再编写一个$this->load->view('post_form')


提前感谢您。

您的意思是只向视图发送一个变量吗

$data['error'] = "error message";
$this->load->view('some/view', $data);

嗯!提交表单时,您应该运行验证。因此,假设您提交了两个字段。是这样的:

$this->form_validation->set_rules('name', 'Name', 'required|trim|xss_clean');
$this->form_validation->set_rules('mem_id', 'ID Member', 'required|trim|is_unique[yourtable.mem_id]|xss_clean');
    if ($this->form_validation->run()){
       // Do your cool stuff now because validation passed
    }else{
       // Whatever...validation fails, load your view.
    }
所以在你看来,你应该在表格的顶部有这样的东西:

<?php echo validation_errors(); ?>


is_unique[yourtable.mem_id]将验证输入在数据库中是否唯一。所以if确实是唯一的,好吧。

嗨,john,我想验证的是,如果有行存在,如果有行存在,我想加载包含表单但带有错误消息的同一页,再次嗨!对不起,我的英语不是我的母语,但如果我没有误解你…你提交一个表单,并验证是否没有包含该数据的行,例如,避免使用相同用户名的两行(例如)。就是这样,我发布的代码将帮助您,是唯一的[table.field]检查,如果有一行包含该数据,它将自动显示错误。因此,如果用户提交一个新用户名,它将通过并执行任何您想要的操作,但是……如果用户名存在……轰!
<?php echo validation_errors(); ?>