初心者はcodeigniterで、一部のオンラインvediosを参照して簡単なログインフォームを作成しようとしています。私はすべてをやった。しかし私がログインしようとすると404ページが見つかりませんでした。私はこの404ページが見つかりません - codeigniterログイン
autoload.phpをfinshにお役立てください
$autoload['libraries'] = array('database','session');
routes.phpの
$route['default_controller'] = 'welcome';
コントローラ
welcome.php
<?php defined('BASEPATH') OR exit('No direct script access allowed');
class Welcome extends CI_Controller {
public function __construct(){
parent::__construct();
$this->load->helper('url');
$this->load->model('main_model');
$this->load->library('session');
$this->load->library('form_validation');}
public function index()
{
$this->load->view('welcome_message');
}
function login_user(){
$this->load->view('welcome_message');
} function login_validation(){
$this->load->library('form_validation');
$this->form_validation->set_rules('username','Username','required');
$this->form_validation->set_rules('password','Password','required');
if($this->form_validation->run()){
// true
$username = $this->input->post('username');
$password = $this->input->post('password');
// model function
$this->load->model('main_model');
if($this->main_model->can_login($username, $password)){
$session_date = array(
'username'=> $username);
$this->session->set_userdata($session_date);
redirect(base_url() . 'main/enter');
}else{
$this->session->set_flashdata('error','Invalid Username and Password');
redirect(base_url() . 'main/login_user');
}
} else{
//false
$this->login_user();
}}function enter(){
if($this->session->userdata('username') !=''){
echo '<h2> Welcome - '.$this->session->userdata('username').'/<h2>';
} else{redirect(base_url() . 'main/login_user');}}}
モデルクラス
function can_login($username,$password){
$this->db->where('UserName',$username);
$this->db->where('Password',$password);
$query=$this->db->get('User');
if($query->num_rows() > 0){
return true;
} else{
return false;
}}
私はその上映にログインしようとするたびには、404ページ
login.php
<form method="post" action="<?php echo base_url(); ?>main/login_validation">
<div class="form-group">
<label>Enter Username</label>
<input type="text" name="username" class="form-control" />
<span class="text-danger"><?php echo form_error('username'); ?></span>
</div>
<div class="form-group">
<label>Enter Password</label>
<input type="password" name="password" class="form-control" />
<span class="text-danger"><?php echo form_error('password'); ?></span>
</div>
<div class="form-group">
<input type="submit" name="insert" value="Login" class="btn btn-info" />
<?php
echo '<label class="text-danger">'.$this->session->flashdata("error").'</label>';
?>
</div>
</form>
平凡なパスワードをdbに保存しないことを願っています。 – user4419336
'main'という名前のコントローラがありますか? @Solmyrの提案によると、リダイレクトのベースURLは必要ありません。ちょうどリダイレクト( 'コントローラ/機能') – Penguine