首页 > 后端开发 > 正文

php框架添加用户功能 php如何实现登录的操作功能

2023-09-16 07:42:40 | 我爱编程网

今天我爱编程网小编为大家带来了php框架添加用户功能 php如何实现登录的操作功能,希望能帮助到大家,一起来看看吧!

php框架添加用户功能 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如何实现登录的操作功能

php如何实现登录的操作功能


php实现登录操作的方法:首先连接和创建数据库;然后使用layui框架创建前台页面;接着创建“login.php”文件,用来判断用户名密码的正确性;最后访问文件目录查看登录界面效果即可。
推荐:《PHP视频教程》
开始自然是从最简单的功能起步,我第一个任务选择了做一个登录操作,其实也没想象中那么简单。
1.首先自然是连接和创建数据库
这部分我写在model.php中
$userName='root';
$passWord='';
$host='localhost';
$dataBase='login';
//创建连接
$conn=mysqli_connect($host,$userName,$passWord,$dataBase);2.写前台页面,为了熟练前端框架,用了layui框架使界面,前面有一段js代码,来判断用户名密码输入是否为空
<!DOCTYPE html>
<html lang="en">
<script src="layui.js";></script>
<link rel="stylesheet" href="layui.css" ;>
<head>
<meta charset="UTF-8">
<title>注册登录</title>
</head>
<script language=JavaScript>
function InputCheck()
{
if (Login.username.value == "")
{
alert("请输入用户名!");
Login.username.focus();
return (false);
}
if (Login.password.value == "")
{
alert("请输入密码!");
Login.password.focus();
return (false);
}
}
</script>
<body >
<p >
<p >
<p class="layui-form">
<form action="login.php" method="post" name="Login" οnsubmit="return InputCheck()">
<p class="layui-form-item" >
<h3>注册登录系统</h3>
</p>
<hr>
<p class="layui-form-item">
<label class="layui-form-label">用户名</label>
<p class="layui-input-block">
<input type="text" name="username" id="username" placeholder="用户名" autocomplete="off" class="layui-input">
</p>
</p>
<p class="layui-form-item">
<label class="layui-form-label">密 码</label>
<p class="layui-input-block">
<input type="password" name="password" id="password" placeholder="密码" autocomplete="off" class="layui-input">
</p>
</p>
<p class="layui-form-item">
<p class="layui-input-block";>
<input type="submit" value="登录" class="layui-btn">
<input type="button" value="注册" class="layui-btn">
</p>
</p>
</form>
</p>
</p>
</p>
</body>
</html>3.login.php 用来判断用户名密码的正确性,关于这一点我看了网上的很多方法,五花八门,在我没遇到障碍之前,我决定先用简单的形式,就是用sql语句查询用户名配上密码的结果集,结果集为空,则不存在该用户。
<?php
//数据库连接
require_once 'model.php';
//从登录页接受来的数据
$name=$_POST['username'];
$pwd=$_POST['password'];
$sql="select id,username,password from user where username='$name' AND password='$pwd';";
$result=mysqli_query($conn,$sql);
$row=mysqli_num_rows($result);
if(!$row){
echo "<script>alert('密码错误,请重新输入');location='login.html'</script>";
}
else{
echo "<script>alert('登录成功');location='123'</script>";
};4.文件目录
5.效果




6.小结
总体上不是特别困难,因为功能十分简单,下一步的任务是加入注册功能,以及验证码功能。

php框架添加用户功能 php如何实现登录的操作功能

php知识框架总结

php知识框架总结

篇一:php基础知识点总结

PHP语言基础简单整理

1.开始结束标记的格式只有在没有判断语句时才能使用。

对表单传递的变量进行编码和解码:PHP中实现对查询字符串进行URL编码可以通过函数urlencode()实现,该函数的使用格式如下:string urlencode(string str);对URL编码后的查询字符串进行解码,可以通过urldecode()函数实现,该函数的使用格式如下:string urldecode(string str);

15.PHP连接数据库:

步骤: 一、建立连接------mssql_connect(server,uid,pwd);

二、指定database-------mssql_select_db(databasename);

三、执行sql------mssql_query($sql,$link);

四、处理记录集-------资源类型数据,格式:bof---数据---eof

五、以特定格式读取数据-----mssql_fetch_array()....

六、释放相关资源、关闭连接------mssql_free_result($result);mssql_close();

16.数组:php的数组由键值和value值组成

定义:$array = array("键值"=>"value","键值"=>"value","键值"=>"value");如果不给键值赋值,默认从0开始的int值

相关函数:(1)in_array("值",数组名); 返回bool型-----查看数组中是否存在某value值

(2)array_key_exists("key值",数组名); 返回bool型-----查看数组中是否存在某键值

(3)array_keys(数组名);---将数组键值返回出来形成一个新数组,此键值作为新数组的value值

(4)array_values(数组名);---将数组value值返回出来形成一个新数组,此值作为新数组的value值

(5)key(数组名);----返回当前指针指向的元素key值

(6)current(数组名);----返回当前指针指向的元素value值

(7)next(数组名);----挪动当前数组指针到下一步

(8)reset(数组名);----恢复数组指针,指向第0个元素

(9)end(数组名);----将指针挪向最后一个元素

(10)prev(数组名);----将指针向前挪动一位

(11)foreach(数组名 as $key=>$value)

{

$key是键值,$value是value值,实现数组遍历

}

(12)each(数组名);----将当前数组元素依次取出(自动挪动指针)并放到一个新的数组中

(13)array_shift(数组名);----返回数组中第一个元素值

(14)array_pop(数组名);----返回数组最后一个元素值

(15)array_push(数组名,value);----向数组中追加元素

(16)array_unshift(数组名,value);----在数组最前面添加元素

(17)array_pad(数组名,数组长度,value);----向数组中追加多个元素,对数组副本操作,不改变原数组,返回一个新数组

(18)count();----返回个数

(19)array_unique(数组名);----去掉数组中重复部分,操作数组副本,不改变原数组,返回新数组

(20)sort(数组名);----从小到大升序排列数组value值,一般针对int型value值,返回bool型,成功返回true

(21)rsort(数组名);----从大到小,逆序排列数组value值

(22)array_combine(数组1,数组2);----将数组1的value值作为key,数组2的value值作为value值,形成一个新数组

(23)array_merge(数组1,数组2,数组3...);----合并多个数组,将多个数组value值依次合并,合为一个数组

(24)array_slice(数组名,int,int);----从目标数组截取元素,形成一个新数组。开始位置为第二个参数,结束位置为第三个参数。若第三个参数不写,则默认是截取到最后。

(25)array_splice();----用法同array_slice();但是其截取部分从原数组中删除 我爱编程网

(26)explode("字符依据",目标字符串);----将字符串按照一定的依据拆分成数组

(27)implode("字符依据",目标数组);----将数组元素按照依据组合成一个字符串

(28)range(mixed low,mixed high[number step]);----生成数组,例:range(1,100,8);---即从1到100,每8位取一个数,组成一个数组

(29)shuffle(数组名);----用于将数组进行随机排序

(30)array_sum(数组名);----对数值型数组元素值进行求和

(31)array_chunk(数组名,int);----分割目标数组,返回一个新数组,其中数组的每个元素都是一个一维数组,int参数为分割成的一维数组的长度

17.Cookie和会话控制:

Cookie是在HTTP协议下,服务器或脚本可以维护客户工作站上信息的一种方式。Cookie是由Web服务器保存在客户机上的小文本文件,它可以包含有关用户的信息。无论何时用户链接到服务器,Web站点都可以访问Cookie信息。

存在server端的是session,存在client端的是cookie,它们用来存储全局变量。 设定Cookie值:setcookie("名","值");

通过Cookie数组取值:$_cookie["名"];

设置生成期:setcookie("名","值",time()+1800);生成期为当前时间加1800秒之后。

删除cookie: setcookie("名","",time()-3600);中间值设置为空,并将当前时间减去3600秒。 Cookie数组:setcookie("名[key]","值"); 使用foreach读取。

在PHP中可以通过$_COOKIE预定义变量访问Cookie的值。如果设置了php.ini中的register_long_arrays,那么就能够应用$_COOKIE和$HTTP_COOKIE_VARS;如果在php.ini中还设置了register_globals,那么就可以在PHP中作为全局变量使用各个Cookie值。但是,更改php.ini中的两个文件设置,容易对PHP的安全构成威胁,不推荐使用该方法,建议使用更新的$_COOKIE。

会话ID的传送

会话ID的传送有两种方式,一种是Cookie方式,另一种是URL方式。

Cookie传送方式:

这是最简单的会话方式,但是有些客户可能限制使用Cookie,如果客户限制使用Cookie的条件下,仍要继续工作,那就要通过其他方式来实现了。

URL传送方式:

在该方式中,URL本身用来传送会话,会话标志被简单地附加到URL的尾部,或者作为窗体中的一个变量来传递。例:

以上就是我爱编程网整理的php框架添加用户功能 php如何实现登录的操作功能相关内容,想要了解更多信息,敬请查阅我爱编程网。
与“php框架添加用户功能 php如何实现登录的操作功能”相关推荐
php框架登录页 php如何实现登录的操作功能
php框架登录页 php如何实现登录的操作功能

php如何实现登录的操作功能php实现登录操作的方法:首先连接和创建数据库;然后使用layui框架创建前台页面;接着创建“login.php”文件,用来判断用户名密码的正确性;最后访问文件目录查看登录界面效果即可。推荐:《PHP视频教程》开始自然是从最简单的功能起步,我第一个任务选择了做一个登录操作,其实也没想象中那么简单。1.首先自然是连接和创建数据库这部分我写在mode

2023-09-10 03:57:54
php框架laravel登录 php如何实现登录的操作功能
php框架laravel登录 php如何实现登录的操作功能

php如何实现登录的操作功能php实现登录操作的方法:首先连接和创建数据库;然后使用layui框架创建前台页面;接着创建“login.php”文件,用来判断用户名密码的正确性;最后访问文件目录查看登录界面效果即可。推荐:《PHP视频教程》开始自然是从最简单的功能起步,我第一个任务选择了做一个登录操作,其实也没想象中那么简单。1.首先自然是连接和创建数据库这部分我写在mode

2023-09-10 06:08:51
php模拟登录框架 php如何实现登录的操作功能
php模拟登录框架 php如何实现登录的操作功能

如何用php做个登陆界面?你可以做一个简单的例如你只有用户名和密码即可那么你先在数据库(以mysql为例)中建表例如叫做user字段为idnamepass分别是编号、用户名、密码长度分别是int(8)a_t(自动编号)主键,varchar(50),varchar(50)你可以添加一个测试数据例如1,admin,admin//说明密码这里不说加密的问题,用明文实现登录页面的代码:login.p

2023-09-09 19:34:20
php登录模块框架 php如何实现登录的操作功能
php登录模块框架 php如何实现登录的操作功能

用php的CI框架怎么写登录和注册第一步:login.php//登陆方法publicfunctionlogin(){//如果用户名和密码为空,则返回登陆页面if(empty($_POST['username'])||empty($_POST['password'])){$data['verifycode']=rand(1000,9999);//生成一个四位数字的验证码

2023-09-14 04:41:46
PHP登录与注册框架 php如何实现登录的操作功能
PHP登录与注册框架 php如何实现登录的操作功能

怎么样使用php的laravel框架快速集成微信登录1.安装php_weixin_provider在项目下运行composerrequirethirdproviders/weixin,即可完成安装。安装成功后,在项目的vendor目录下应该能看到php_weixin_provider的库文件:image2.配置微信登录的参数一共有7个参数可以配置,分别是:client_i

2023-09-21 12:34:19
php框架登录与注册 php如何实现登录的操作功能
php框架登录与注册 php如何实现登录的操作功能

php如何实现登录的操作功能php实现登录操作的方法:首先连接和创建数据库;然后使用layui框架创建前台页面;接着创建“login.php”文件,用来判断用户名密码的正确性;最后访问文件目录查看登录界面效果即可。推荐:《PHP视频教程》开始自然是从最简单的功能起步,我第一个任务选择了做一个登录操作,其实也没想象中那么简单。1.首先自然是连接和创建数据库这部分我写在mode

2023-09-24 08:37:38
php常用的ui框架 php如何实现登录的操作功能
php常用的ui框架 php如何实现登录的操作功能

php如何实现登录的操作功能php实现登录操作的方法:首先连接和创建数据库;然后使用layui框架创建前台页面;接着创建“login.php”文件,用来判断用户名密码的正确性;最后访问文件目录查看登录界面效果即可。推荐:《PHP视频教程》开始自然是从最简单的功能起步,我第一个任务选择了做一个登录操作,其实也没想象中那么简单。1.首先自然是连接和创建数据库这部分我写在mode

2023-09-19 14:55:46
php安全登陆框架 php如何实现登录的操作功能
php安全登陆框架 php如何实现登录的操作功能

PHP有哪些流行的框架PHP有哪些流行的框架?PHP有哪些流行的框架?PHP作为一种十分流行的编程语言,拥有大量的应用领域和开源程序库。其中,PHP框架可以有效提高对PHP语言的理解和运用水平。框架作为一种用于开发网络应用程序的基础架构,可以让开发者在不同项目的开发中提高效率。在PHP框架领域中,有许多众所周知、使用广泛的优秀框架,其中一些常见的PHP框架如下:1.Lara

2023-09-22 03:13:57