我试图建立一个简单的登录会话,但我被重定向到登录页面,这是我的登录。php控制器。
> <?php class Login extends CI_Controller
{ function __construct()
{
> parent::__construct();
if($this->session->userdata('admin'))
> redirect('admin/dashboard');
}
function index()
{
> $this->load->view('admin/login', $data);
} function verify() {
> //username:admin password:123456
$this->load->model('admin');
> $check = $this->admin->validate();
if($check) {
> $this->session->set_userdata('admin','1');
> redirect('admin/dashboard');
}
else
{
>
redirect('admin'); } }
>
>
>
> }
<?php
class Dashboard extends CI_Controller
{
function __construct()
{
parent::__construct();
if(!$this->session->userdata('admin'))
redirect('admin');
}
function index()
{
$this->load->view('admin/dashboard');
}
function logout()
{
$this->session->sess_destroy();
redirect('admin');
}
}
这是数据库。php
$active_group = 'default';
$query_builder = TRUE;
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'ASGB-test',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
)
;
这是我的autoload.php,我在这里激活数据库和会话库
$autoload['库']=数组('数据库','会话');
这里是路线。php,welcome controller基本上是最初的codeigniter欢迎视图,我还定义了管理路由
$route['default_controller'] = 'welcome';
$route['admin'] = 'admin/login';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
这是管理模式。php
<?php
class Admin_model extends CI_Model
{
function validate()
{
$arr['username'] = $this->input->post('Username');
$arr['password'] = md5($this->input->post('Password'));
return $this->db->get_where('admins',$arr)->row();
}
}
我肯定我输入正确的密码和用户名,但它只是重定向我到登录页面
首先,我不知道$data在Login控制器的index()中做了什么,在你的模型管理员中验证()做了什么,那么我认为最好把Login Controller中的登录和注销函数作为以下:
<?php
class Login extends CI_Controller{
function __construct(){
parent::__construct();
}
function index() {
$this->load->view('admin/login');
}
public function log_in()
{
$this->load->model('admin');
$this->form_validation->set_rules('username', 'Username', 'trim|required', array('required' => 'Username required'));
$this->form_validation->set_rules('password', 'Password', 'trim|required', array('required' => 'Password required'));
//username:admin password:123456
if ($this->form_validation->run() !== false) {
$username = $this->input->post('username');
$password = $this->input->post('password');
$check = $this->admin->validate($username, $password);
if ($check != false) {
$this->session->set_userdata('admin','1');
redirect('Dashboard');
} else {
redirect('Login');
}
}
$this->load->view('admin/login');
}
public function log_out()
{
$this->session->sess_destroy();
redirect('Login');
}
}
?>
然后您的仪表板控制器如下:
<?php
class Dashboard extends CI_Controller
{
function __construct()
{
parent::__construct();
if(!$this->session->userdata('admin'))
redirect('Login');
}
function index()
{
$this->load->view('admin/dashboard');
}
}
?>
管理模型如下所示:
<?php
class Admin extends CI_Model
{
function validate($username, $password)
{
$this->db->select('*')
->from('admins')
->where('username', $username)
->where('password', md5($password));
$query = $this->db->get();
return $query->result();
}
}
?>
解决,我实际上是拼写错误的“用户名”和“密码”,通过解决我登录成功。谢谢你的回答
你必须使用
session_start();
在每个需要会话变量的页面的php脚本的开头。
问题内容: 我正在尝试使用Python请求登录LinkedIn: 我似乎无法使用此方法登录。我什至尝试在有效负载中使用csrf等,但是会话不是应该为您解决吗? 关于最后一行的注意事项:我使用标题来检查是否已成功登录。(如果我已经登录,则应该看到“ Welcome!| LinkedIn”,而我会看到“世界上最大的专业网络| LinkedIn”) 我想念什么吗? 问题答案: 我修改了一个网络抓取模板,
本文向大家介绍使用redis管理用户登录会话的方法,包括了使用redis管理用户登录会话的方法的使用技巧和注意事项,需要的朋友参考一下 登录和cookie缓存 对于用来登录的cookie,有两种常见的方法可以将登录信息存储在cookie里面:一种是签名(signed)cookie,另一种是令牌(token)cookie。 签名cookie通常会存储用户名,可能还有用户ID、用户最后一次成功登陆的时
我已经使用jsp创建了一个登录环境<代码>索引。jsp,登录。jsp。我从数据库中获取用户名和密码。如果用户名和密码与数据库匹配,则登录过程将完美完成。当用户给出错误的名称或密码时,它会显示错误消息,并重定向到登录页面。没什么问题,但我第一次登录时遇到了一个问题。提交错误名称或密码后显示错误消息的位置,该位置显示为空。 为什么显示null? 下面是我的代码 指数jsp login.jsp
问题内容: 我刚刚完成了在PHP中创建整个登录和注册systsem的操作,但是我的问题是我还没有使用任何会话。我是PHP的新手,以前从未使用过会话。我想做的是,在用户注册并填写登录表单后,他们仍将停留在同一页面上。因此,其中一部分将是会话已登录,另一部分将是其他(用户未登录,请显示登录表单)。谁能告诉我如何开始? 问题答案: 希望这可以帮助 :) 开始会话,您需要在页面顶部或在调用会话代码之前说出
问题内容: 如果我想使用Web应用程序跟踪与每个客户端的对话状态,那么哪个更好的替代方法是使用Session Bean还是HTTP Session? 使用HTTP会话: 使用会话EJB: 在执行ServletContextListener时注册为Web应用程序侦听器: 在JSP中: 同一JSP正文中的其他地方: 在我看来,它们几乎是相同的,主要区别在于UserState实例是在前者中传输的,而在后
我用auth0用angularjs创建函数login。 当我输入电子邮件和密码登录成功不返回信息,并再次重定向到登录页面。我检查数据返回看不到' id_token '。 app.js包括配置认证 身份验证服务.js