【发布时间】:2012-08-26 02:41:02
【问题描述】:
问题 1) 我设置了一个注册/登录区域并验证了所有内容(包括空白字段),如果用户名和/或密码不正确,则在显示错误消息时碰壁。目前,如果字段留空,我会收到一条错误消息,但在提交页面时,无论用户详细信息是否正确,都会重定向到“私人页面”。这是我当前的代码:
问题 1(已解决):
控制器:
//This method will have the credentials validation
public function credentials_validation() {
$data['error'] ="Invalid Username or Password";
$this->load->library('form_validation');
$this->form_validation->set_rules('username', 'Username', 'trim|required|xss_clean|callback_username_check');
$this->form_validation->set_rules('password', 'Password', 'trim|required|xss_clean|callback_password_check');
if($this->form_validation->run() == FALSE)
{
//Field validation failed. User redirected to login page
$this->index();
}else{
$this->load->model('register_model');
if($query = $this->register_model->validate()) {
$this->load->model('news_model');
$data = array('news' => $this->news_model->getArticle());
$data['title'] = 'Admin | Home';
$data['heading'] = 'News Articles';
$data['main_content'] = 'admin/news';
$this->load->view('include/template', $data);
}else {
$this->load->view('login',$data);
}
}
}
问题 2) 新闻文章页面仅加载 1 篇文章,并且 url 显示类名。
新闻总监:
class News extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->model('admin/news_model');
}
public function index() {
$data = array('news' => $this->news_model->getArticle());
$data['title'] = 'Admin | News Home';
$data['heading'] = 'News Articles';
$this->load->view('admin/news', $data);
}
}
新闻模型只是拉取数据库表,全选并按 id 排序并生成数组。任何人都知道为什么这仅显示 1 个结果?我认为它与 foreach 方法有关?
PS,CI 或 php 错误日志中没有显示错误消息!
【问题讨论】:
-
另外,我认为既然下面的答案解决了原来的问题,你应该接受这个答案并将新问题作为一个单独的问题。对我来说,帮助你是一场游戏,我从中赚取积分。如果我的回答解决了您的问题,但如果您没有将其标记为已回答,那么您就没有让我获得积分……这并没有激励我玩这个“游戏”
标签: php codeigniter login validation