首页 > 后端开发 > 正文

php封装一个用户类,里面有登录注册方法,这个要怎么写

2024-07-19 21:41:42 | 我爱编程网

今天我爱编程网小编为大家带来了php封装一个用户类,里面有登录注册方法,这个要怎么写,希望能帮助到大家,一起来看看吧!

本文目录一览:

php封装一个用户类,里面有登录注册方法,这个要怎么写

php的封装一个函数,实现功能:判断三个数的最大值

<?php
function get_max($a,$b,$c)
{
    return ( $a > $b ? $a : $b ) > $c ? ( $a > $b ? $a : $b ) : $c;
}
echo get_max(1,2,3); // 输出3

php封装一个用户类,里面有登录注册方法,这个要怎么写

php封装一个用户类,里面有登录注册方法,这个要怎么写

第一步:login.php

//登陆方法
public function login(){
//如果用户名和密码为空,则返回登陆页面
if(empty($_POST['username']) || empty($_POST['password'])){
$data['verifycode'] = rand(1000,9999);//生成一个四位数字的验证码
//将验证码放入session中,注意:参数是数组的格式
$this->session->set_userdata($data);
//注意:CI框架默认模板引擎解析的模板文件中变量不需要$符号
//$this->parser->parse("admin/login",$data);
//smarty模板变量赋值
$this->tp->assign("verifycode",$data['verifycode']);
//ci框架在模板文件中使用原生态的PHP语法输出数据
//$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 = isset($_POST['password'])&&!empty($_POST['password'])?trim($_POST['password']):'';//密码
$verifycode = isset($_POST['verifycode'])&&!empty($_POST['verifycode'])?trim($_POST['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){
//将用户id、username、password放入cookie中
//第一种设置cookie的方式:采用php原生态的方法设置的cookie的值
//setcookie("user_id",$user_info['user_id'],86500);
//setcookie("username",$user_info['username'],86500);
//setcookie("password",$user_info['password'],86500);
//echo $_COOKIE['username'];

//第二种设置cookie的方式:通过CI框架的input类库
$this->input->set_cookie("username",$user_info['username'],3600);
$this->input->set_cookie("password",$user_info['password'],3600);
$this->input->set_cookie("user_id",$user_info['user_id'],3600);
//echo $this->input->cookie("password");//适用于控制器
//echo $this->input->cookie("username");//适用于控制器
//echo $_COOKIE['username'];//在模型类中可以通过这种方式获取cookie值
//echo $_COOKIE['password'];//在模型类中可以通过这种方式获取cookie值

//第三种设置cookie的方式:通过CI框架的cookie_helper.php函数库文件
//这种方式不是很灵验,建议大家采取第二种方式即可
//set_cookie("username",$user_info['username'],3600);
//echo get_cookie("username");

//session登陆时使用:将用户名和用户id存入session中
//$data['username']=$user_info['username'];
//$data['user_id']=$user_info['user_id'];
//$this->session->set_userdata($data);

//跳转到指定页面
//注意:site_url()与base_url()的区别,前者带index.php,后者不带index.php
header("location:".site_url("index/index"));
}
}else{
//跳转到登陆页面
header("location:".site_url("common/login"));
}
}
}
}

第二步:User_model.php

//cookie登陆:检测用户是否登陆,如果cookie值失效,则返回false,如果cookie值未失效,则根据cookie中的用户名和密码从数据库中获取用户信息,如果能获取到用户信息,则返回查询到的用户信息,如果没有查询到用户信息,则返回0
public function is_login(){
//获取cookie中的值
if(empty($_COOKIE['username']) || empty($_COOKIE['password'])){
$user_info = false;
}else{
$user_info=$this->check_user_login($_COOKIE['username'],$_COOKIE['password']);
}
return $user_info;
}

//根据用户名及加密密码从数据库中获取用户信息,如果能获取到,则返回获取到的用户信息,否则返回false,注意:密码为加密密码
public function check_user_login($username,$password){
//这里大家要注意:$password为md5加密后的密码
//$this->db->query("select * from ");
//快捷查询类的使用:能为我们提供快速获取数据的方法
//此数组为查询条件
//注意:关联数组
$arr=array(
'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($user_info)){
return $user_info;
}else{
return false;
}
}

第三步:其它控制器:

public function __construct(){

//调用父类的构造函数
parent::__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/login"));
}else{
//如果已经登陆,则重新设置cookie的有效期
$this->input->set_cookie("username",$this->cur_user['username'],3600);
$this->input->set_cookie("password",$this->cur_user['password'],3600);
$this->input->set_cookie("user_id",$this->cur_user['user_id'],3600);
}

$this->load->library('pagination');//分页类库
$this->load->model("role_model");//member_model模型类
$this->load->model("operation_model");//引用operation_model模型
$this->load->model("object_model");//引用object_model模型
$this->load->model("permission_model");//引用permission_model模型
}

php封装一个用户类,里面有登录注册方法,这个要怎么写

php封装一个class类实现mysql数据库的增删该查

我爱编程网(https://www.52biancheng.com)小编还为大家带来php封装一个class类实现mysql数据库的增删该查的相关内容。

classsqlHelper{

public$conn;

public$dbname="数据库名称";

public$username="数据库用户名";

public$password="数据库密码";

public$host="localhost";

//连接数据库

publicfunction__construct(){

$this-

if(!$this-

die("连接失败".mysql_error());

}

mysql_select_db($this-

}

//执行查询语句 我爱编程网

publicfunctionexecute_dql($sql){

$res=mysql_query($sql,$this-

return$res;

}

//执行增填改语句

publicfunctionexecute_dml($sql){

$b=mysql_query($sql,$this-

if(!$b){

return3;

}else{

if(mysql_affected_rows($this-

return1;//表示OK

}else{

return2;//表示没有行收到影响

}

}

}

}

以上就是我爱编程网整理的php封装一个用户类,里面有登录注册方法,这个要怎么写相关内容,想要了解更多信息,敬请查阅我爱编程网。更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“php封装一个用户类,里面有登录注册方法,这个要怎么写”相关推荐
PHP怎么调用其他类的方法
PHP怎么调用其他类的方法

php"直接用类名"和"new实例化"调用函数哪种方法效率更高?1.首先用法不同,__new__()用于创建实例,所以该方法是在实例创建之前被调用,它是类级别的方法,是个静态方法;而__init__()用于初始化实例,所以该方法是在实例对象创建后被调用,它是实例级别的方法,用于设置对象属性的一些初始值。由此可知,__new__()在__init__()之前被调用。如果__new_

2024-07-19 01:34:22
java中 在更改密码界面中,需要获取当前登录的用户信息,请问在程序中是如何获?
java中 在更改密码界面中,需要获取当前登录的用户信息,请问在程序中是如何获?

怎样在一个java程序中获得另一个程序的运行状态先把2个文件放在同一个包下面,这样就可以访问另一个java程序了。一般的方法是在a程序里实例化b类,然后通过b.方法名去调用b类里的方法runtime.getruntime().exec("外部程序");相当于你在cmd控制台中输入"外部程序"并回车执行java中在更改密码界面中,需要获取当前登录的用户信息,请问在程序中是如

2024-04-26 06:28:00
public static void main(String[] args){ ... } 在每个JAVA里面为什么一定需要这段代码?
public static void main(String[] args){ ... } 在每个JAVA里面为什么一定需要这段代码?

publicstaticvoidmain(String[]args){...}在每个JAVA里面为什么一定需要这段代码?publicstaticvoidmain(String[]args)为java程序的入口方法,jvm在运行程序时,会首先查找main()方法。其中public是权限修饰符,表明任何类或对象都可以访问这个方法,static表明是静态方法,及方法中的代码是存储在静态存储

2024-06-10 14:08:18
怎么在CMD里安装python?在CMD安装python的方法教程
怎么在CMD里安装python?在CMD安装python的方法教程

怎么在CMD里安装python?在CMD安装python的方法教程Python是一门开源免费、通用型的脚本编程语言,它上手简单,功能强大,它也是互联网最热门的编程语言之一。不管是传统的Web开发、PC软件开发、Linux运维,还是大数据分析、机器学习、人工智能,Python都能胜任。对于准备自学或者想要提升Python的小伙伴来说,可能找到一套合适的课程学习往往能够事半功倍!为大家提供到了

2023-12-18 06:37:12
如何用命令行运行含有多个类的java程序,是全部写在一起,然后用含main的那个命名,还是别的什么方法?
如何用命令行运行含有多个类的java程序,是全部写在一起,然后用含main的那个命名,还是别的什么方法?

如何用命令行运行含有多个类的java程序,是全部写在一起,然后用含main的那个命名,还是别的什么方法?设计。在学之前来了解下,编写JAVA时要建立哪几个文件夹?——不用建什么文件夹,只要安装好JDK。说明每个文件夹的作用——现在在网吧,没有JDK,没法为你解释那些文件夹。学编写JAVA是不是英语一定要会?——英语,初中文化就够了,虽然程序源码那么多英语,但是并不是涉

2024-03-22 23:33:14
PHP if函数里直接写一个变量是什么意思
PHP if函数里直接写一个变量是什么意思

php函数的变量和作用域&lt;?php$global_a="global";//这是一个全局变量。functionprivate_test(){$private_a="private";//这是一个局部变量,其有效范围就是这个函数内部。echo$private_a;}echo$private_a;//函数外部就不能再调用其局部变量了。PHPif函数里直接写一

2024-07-17 16:03:12
Java菜鸟学习编写第一个java程序HelloWorld 编写一个“Hello java!”程序用三种方法实现
Java菜鸟学习编写第一个java程序HelloWorld 编写一个“Hello java!”程序用三种方法实现

Java菜鸟学习编写第一个java程序HelloWorld不管学哪门语言,第一个HelloWorld程序成功运行起来的时候,代表着你的学习已经跨进了一小步。做这个java实验之前,读者最少要在自己的电脑上安装好JDK(包括配置好环境变量),如果读者还不会安装JDK和配置环境变量可以看作者的另一遍经验。编写并保存代码。打开记事本编写如图1所示代码,图1代码为(注意输入代码时输入法一定切换到

2024-06-11 06:46:32
即用即查PHP函数参考手册        目录 PHP5教程之文件操作
即用即查PHP函数参考手册        目录 PHP5教程之文件操作

即用即查PHP函数参考手册    目录即用即查PHP函数参考手册这本手册详细介绍了PHP的各种功能,帮助您快速理解和掌握PHP编程。第一部分深入浅出地介绍了PHP的基础知识,涵盖了其核心概念和常用语法。在服务器数据库篇中,您将找到Apache函数、ODBC函数和MySQL函数,这些都是与数据库交互的重要工具。数组和字符处理是编程中的基石,第五章至第七章分别

2024-07-19 08:34:44