問題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エラーログからエラーメッセージは表示されません!