嗨,我是 php 和代码点火器的新手。 我尝试是从视图和经过验证的用户中获取登录信息,并且需要向用户发送一条消息,无论登录详细信息不正确。
控制器代码 :
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Welcome extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->model('login_model');
$this->load->helper('form');
$this->load->helper('url');
}
public function index()
{
//$this->load->helper('url');
$this->load->view('login/login');
}
public function login_check()
{
//$this->load->view('hello');
//echo "directed";
$user_id = $this->input->post('usernm');
$userPassword = $this->input->post('passwordd');
//echo $user_id.' and'.$userPassword;
$var = $this->login_model->check_login($user_id);
$status = 0;
if(empty($var))
{
echo "Invalid user";
$status = 0;
}
else
{
//echo var_dump($var);
$username = $var->username;
//echo $username;
$status = 1;
}
$this->load->helper('url');
redirect('login/login');
//$this->load_>view('loginlogin');// at this point it does not redirect to login page and instead of that displaying error 404.page not found.
//echo $status;
}
}
相同的网址,从索引函数调用时较早加载,但 fi 它从登录 check((函数调用时不会定向到视图并显示错误 404 页面找不到。
关于这个世界的任何帮助都是一个很大的帮助。 多谢!
你需要写重定向('welcome'(;而不是重定向('login/login'(;。因为登录/登录是视图页面,并且您正在尝试在不使用控制器的情况下重定向到视图。所以你有两个选择,我在下面写的。
- 重定向("欢迎"(;
- $this->加载>视图("登录/登录"(;
我的建议是请选择第一个选项,因为第二个选项已经在第一个选项中实现了。
我希望这个对你有用。
public function login_check()
{
$user_id = $this->input->post('usernm');
$userPassword = $this->input->post('passwordd');
$var = $this->login_model->check_login($user_id, $userPassword); //pass username and password to your model to authenticate if input exists.
$data['error'] = '';
if(!empty($var)) //check if var is not empty
{
$this->session->set_userdata($var); //set user_data to var
redirect('Account/page'); //redirect it to your account or success page
}else{
$data['error'] = 'Invalid Username or Password.';
}
$this->load->view('login/login',$data); //pass the error notification to your page.
}