用php的CI框架怎么写登录和注册

第一步:login.php //登录方法 publicfunctionlogin(){ //如果用户名和密码为空;返回登录页面 if(empty($_POST['用户名'])||empty($_POST['密码'])){$data['verifycode']=rand(1 000,9 9 9 9 9 );代码到会话中。
注意:参数$this->session->set_userdata($data); // 注意:CI框架默认模板引擎解析的模板文件中的变量使用$符号 //$this->parser->parse("admin/login",$data);//smarty模块板变量赋值 $this->tp->assign("verifycode", $data['verify/framework').示例文件 //$this->load->view('login',$data);//登录页面;注意:参数2 需要以数组形式出现 //显示smarty模板引擎设置模板文件 $this->tp->display("admin/login.php");}else{$username=isset($_POST['username'])&&!empty($_POST['username'])?trim($_POST['username']):'';//用户名$password=iss et($_POST['password'])&&!empty($_POST['password'])?trim($_POST['password']):'';//密码$verifycode=isset($_POST['verifycode'])&&!empty($_POST['password') d'])?trim($_POST['password'])):'';//密码$verifycode=isset($_POST['verifycode'])&&!empty($_POST['verifycode'])/POSTerify($_POST['verifycode'])/'trim; code //verifycode if($verifycode==$this->session->userdata('verifycode'))){ //根据用户名和密码获取用户数据。
注:参数2 为加密后的密码 $user_info=$this->user_model->check _user_login($username,md5 ($password));if($user_info['user_id']>0){ //user id;将用户名和密码输入到cookie中:使用第一种方法设置PHP cookie的默认值方法//setcookie("user_id",$user_info['user_id'],8 6 5 00);//setcookie("username",$user_info['username'],8 6 5 00);//setcookie("password",$user_info['password'],8 6 5 00');//第二种方法设置 IE cookie:通过库输入 CI 框架 $this->input->set_cookie("username",$user_info['username'],3 6 00);$this->input->set_cookie("password",$user_info['password, '],3 6 00);$this->input->set_cookie("user_id",$user_info['user_id'],3 6 00);//echo$this->input->cookie("password");//在控制器中有效 //echo$this->input->cookie");("user) // 控制器 //echo$_COOKIE['username'];//通过这种方式获取模型类中的 cookie 值//echo$_COOKIE['password'];//模型类中可用的cookie值这样 //第三种设置cookie的方法:cookie_helper.php函数库这种文件/CI文件的方法效率不是很高。
第二种方法 //set_cookie("用户名",$user_info['用户名'],3 6 00); //echoget_cookie("username");//登录session时使用:在session中存储用户名和用户id //$data['username']= $user_info['username'];//$data['user_id']=$user_info['user_id'];//$this-$p>session数据页 //注意:site_url()和base_url()的区别是index.php有前一个;后面是index.phpheader("location:".site_url("index/index"));}}else{//登录页header("location:".site_url("common/login"));}}_C 检查是否登录第2 步。
如果c cookie值无效;返回假。
如果cookie值无效;根据cookie中的用户名和密码从数据库中检索用户信息。
如果用户信息可用,则返回所请求的用户信息。
如果没有请求用户信息,则返回 0。
publicfunctionis_login(){//(empty if($_COOKIE['username'])||empty($_COOKIE['password'])){$user_info=false;}else{$user_info=$this->check_user_login($_COOKIE['username'],$_COOKIE['password']);}return $user_info;} //根据用户名和加密密码从数据库获取用户信息。
如果有则返回获取到的用户信息,否则返回false。
注意:password是加密后的password publicfunctioncheck_user_login($username,$password){ //这里大家要注意:$password是md5 加密后的密码 //$this->db->query("sele ct*from");//使用快速查询类 // 不是快速获取数据的方法 这里关系数组 $arr=array('username'=>$username,//Username'password'=>$password,//加密后的密码'status'=>1 //账户已开通);//数据表定义在database.php文件前缀中;所以此时数据表不需要前缀。
$query=$this->db->get_where("users",$arr);//返回二维数组 //$data=$query->result_array();//一维数组 $user_info=$query->row_array());if(!empty($usreer_info) info;}else{returnfalse;}}第3 步:其他控制器:publicfunction__construct(){//父类的构造函数call::__construct(); $this->load->library('tp');//smarty模板类解析类 $this->load->helper');/url('url) $this->load->model("user_model");//User_model模型类实例化对象 $this->cur_user=$this->user_model->is_login(); if($this->cur_user===false){ header("location:".site_url("common/log cookie"); in"){header("location:".site_url("common/logelse"), $this->input->set_cookie("用户名",$this->cur_user['用户名'],3 6 00); $this->input->set_cookie("password",$this->cur_user['password'], 3 6 00);$this->input->set_cookie("user_id",$this->cur_user['user_id'],3 6 00);}$this->load->library('pagination');//分页类库$this->load->model("role_model")//mdelem 类库 s->load->model("operation_model");//引用 operation_model 模型 $this->load->model("object_model");//引用 object_model 模型 $this->load->model("permission_model");// 引用permission_model模型

php登陆回到登陆页面为什么

PHP登录后返回登录页面的可能原因及解决步骤: 登录逻辑错误: 用户名或密码输入不正确: 确保用户输入的用户名和密码与数据库中的记录相符。
登录验证逻辑问题:检查PHP脚本中的验证逻辑,确保用户名和密码正确时能够成功创建会话。
会话设置不正确:成功登录后使用session_start()打开会话并正确设置会话变量(例如$_SESSION['user_id'])。
页面跳转逻辑错误:重定向代码错误:使用 header('Location:...') 进行重定向的代码 在完成所有登录验证逻辑后,检查重定向以确保它是有效的 URL。
浏览器缓存问题:尝试以缓存模式访问页面或清除浏览器缓存以消除缓存干扰。
JavaScript问题:登录页面是否依赖JavaScript进行页面跳转。
检查相应JavaScript代码是否有错误,确保登录成功后跳转逻辑正确。
权限问题:登录用户访问其他页面确保您有访问权限。
检查权限设置逻辑,确保用户登录成功后拥有正确的访问权限。
解决步骤: 检查登录逻辑:检查用户名和密码的正确性,确保登录验证逻辑正确。
检查会话设置:确保会话已正确打开并设置了所需的会话变量。
检查重定向代码:在登录逻辑之后运行重定向代码并确保 URL 正确。
清除浏览器缓存:以缓存模式访问页面或清除浏览器缓存。
检查 JavaScript 和权限设置:确保 JavaScript 代码正确并且用户可以访问所需的页面。

php 判断用户是否登录

用户登录决策主要分为几个过程。
第一步是用户成功登录后将数据保存到Session中,然后当用户访问需要登录的用户权限时,判断Session是否为空。
否则,登录成功。
我们以判断用户登录为例。
有几个过程。
第一步是用户成功登录后将数据保存到Session中,然后当用户访问需要登录的用户权限时,判断Session是否为空。
否则,登录成功。
我们看一个例子<?phptutorial session_start();if(getconfig("chatroom_admin")==$_post["username"]&&getconfig("chatroom_adminpassword")==md5 ($_post["password"])){// 登录注册成功sessionession_register("管理员");if(isset($_session["hack_num"])){session_unregister("hack_num");}$_session["admin istrator"]="yes";header("location:main.php");exit;}else{if($_session["hack_num"]==""){session_register("hack_num");$_session["hack_num"]=1 ;}else{$_session["hack_num"]++;}header("location:../notice.php?id=".admin_login_lost);exit;}?> 如果看到红色图标,则表示用户已成功登录并将其数据保存到 session['hack_num'] 页面。
<?php//该页面首先判断用户是否正确登录。
如果没有,您将被重定向到登录页面。