首页 > 后端开发 > 正文

PHP登录与注册框架 php如何实现登录的操作功能

2023-09-21 12:34:19 | 我爱编程网

今天,我爱编程网小编为关注后端开发的同学们准备了PHP登录与注册框架 php如何实现登录的操作功能,下面一起来看一下吧。

PHP登录与注册框架 php如何实现登录的操作功能

怎么样使用php的laravel框架快速集成微信登录

1. 安装php_weixin_provider
在项目下运行composer require thirdproviders/weixin,即可完成安装。安装成功后,在项目的vendor目录下应该能看到php_weixin_provider的库文件:
image
2. 配置微信登录的参数
一共有7个参数可以配置,分别是:
client_id:对应公众号创建的应用appid
client_secret:对应公众号创建的应用appid
redirect:对应微信授权成功后的回调地址
proxy_url:对应微信授权的代理服务地址(其作用可阅读这篇文章了解)
device:区别是PC端微信登录还是移动端微信登录,默认值为pc,如果是移动端,可设置为空
state_cookie_name:授权链接中会包含随机的state参数,这个参数在微信回调的时候会原封不动的返回来,届时可通过验证state参数是否与授权链接中传入的参数相同,来判断请求是否有效,防止CSRF攻击。这个方案,会在授权时把state参数先存到cookie里面,所以这个参数用来指定这个state参数存入的cookie名称,默认值是wx_state_cookie
state_cookie_time:指定wx_state_cookie的有效时长,默认是5分钟
这七个参数有2种设置方式。
第一种是把这些参数以大写的形式配置到.env配置文件里面:
image
注:1、每个配置项都是大写,且以WEIXIN_开头;2、前三个配置项与前面介绍的参数名称不完全一致,KEY对应client_id,SECRET对应client_secret,REDIRECT_URI对应redirect;3、其它的与前面介绍的参数名称一致。
第二种是把这些参数配置到config/services.php文件里面去:
image
这种方式的配置,每个配置项的名称与前面介绍的一致。
要注意的内容:
由于php_weixin_provider是基于laravel/socialite实现的,它要求必须配置client_id,client_secret和redirect,否则php_weixin_provider实例化过程就会出错;对于client_id和client_secret,我认为统一配置在一个地方是没有问题的,但是对于redirect,如果统一配置,不一定符合所有场景的需求,因为不是每一个用到微信登录的地方,最后的回调地址都是同一个;所以建议把redirect先配置成一个有效或无效非空的回调地址;反正在后面使用php_weixin_provider的时候还可以在调用的时候更改这个参数的值。
proxy_url如果有,也建议配置在公共的地方;
state_cookie_name和state_cookie_time由于都有默认值,基本上无需重新配置;
device可以在使用的时候再指定。
所有配置参数都可以在使用的时候重新指定。
3. 注册php_weixin_provider
在项目的config/app.php文件里面,找到providers配置节,把如下代码加到它的配置数组里面:
image
4. 注册第三方登录事件的监听
在项目的app/Providers/EventServiceProvider.php里面加入以下代码:
image
laravel框架整体上是一种IOC跟事件驱动的思想,熟悉js就会对事件驱动非常熟悉,熟悉设计模式,就会对IOC(控制反转,也称为DI:依赖注入)比较熟悉,这个是理解第3步和第4步配置作用的关键。
5. 编写微信登录的接口
举例如下:
+ View code
Socialite::with('weixin')会返回php_weixin_provider的实例,也就是它:
image
拿到这个实例之后,就可以采用链式的方式调用它提供的所有public方法,比如设置配置参数,setDevice等等。
6. 编写微信登录回调的接口
举例如下:
+ View code
通过Socialite::with('weixin')拿到php_weixin_provider实例后,调用user方法,就会自动跟微信调用相关接口,并把微信的返回值封装成对象返回。如果在此过程中,有任何错误都会以异常的形式抛出,比如state参数校验失败,比如code失效等。
返回的$user对象包含的有效属性有:
image
小结:
这个方案是基于laravel/socialite实现,并发布到composer来使用的。laravel/socialite是laravel官方提供的第三方登录的模块,基于它可以很方便的集成大部分第三方平台的认证,目前它官方已经提供很多第三方的登录实现: 。除了国外的facebook,google,github等,国内的微信,微博,qq也都有提供。我在一开始也用的是它官方提供的默认的微信登录provider来做的,但是后来我发现了以下几个问题:
1. 不支持微信授权的代理;
2. pc端跟移动端竟然还是分两个项目来做的:
image
3. 它封装的user对象里竟然不包含unionid
4. 更改配置参数的方式,实在是让人觉得难以使用:
image
所以我就在它官方的微信登录provider基础上,按照自己的想法,重新实现了一个来解决我发现的这些问题

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+mysql怎么做登录注册

  1. 首先得到提交的数据

  2. 链接数据库,查询数据库,查询username 和pwd

  3. 提交的username 和 pwd  跟数据库查询的username 和pwd做对比, 我爱编程网

  4. 都相等那就是登陆成功

<?php
mysql_connect('localhost','root','123');
mysql_select_db('lx');
mysql_query("SET CHARACTER SET utf8");
mysql_query("SET NAMES utf8");

//数据库lx 表user  字段id username  pwd
//用md5加密,可以自己试试    
    

if(isset($_POST['user'])&&$_POST['tijiao'] == 'success'){
    $query = mysql_query("select pwd from user where username = '".$_POST['user']."'");
    $num = mysql_num_rows($query);
    if($num > 0 ){
        while($info = mysql_fetch_array($query)){
                if($info['pwd'] == md5($_POST['pwd'])){
                        echo '登陆成功';
                    }else{
                        echo '登陆失败';    
                    }
            }
    
    }else{
        
            echo '登陆失败';
        }
}
?>
<form action="" method="get"/>
<table border="0" cellspacing="0" cellpadding="0" >
      <tr>
        <td class="fieldKey" width="30%">用户名:</td>
        <td class="fieldValue" width="100%"><input type="text" name="user" /></td>
      </tr>
      <tr><td height="10"></td></tr>
      <tr>
        <td class="fieldKey">密码:</td>
        <td class="fieldValue"><input type="password" name="pwd" /></td>
      </tr>
    </table>
    <input type="hidden" name="tijiao" value="success" />
     <input type="submit" value="登陆"/>
</form>

以上就是我爱编程网小编为大家带来的PHP登录与注册框架 php如何实现登录的操作功能,希望对大家有帮助,了解更多相关资讯请关注我爱编程网。
与“PHP登录与注册框架 php如何实现登录的操作功能”相关推荐
php框架登录与注册 php如何实现登录的操作功能
php框架登录与注册 php如何实现登录的操作功能

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

2023-09-24 08:37:38
注册登录的PHP框架完整代码 php如何实现登录的操作功能
注册登录的PHP框架完整代码 php如何实现登录的操作功能

求一套PHP网页注册和登陆代码你说的这个是PHP中最基本的,在网上随便下载个源码里面看一下就知道了。,1检测字符串是不是英文,应该有个函数的,2是否存在相同:在处理页连接数据库,并且用语句进行检测判断。selectusernamefrom表whereusername="$$$$$";3登陆那里检测是不是空,用JAVASCRIPT源码里都有。4验证码模块可以再后期单独添加进来。

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

2023-09-22 03:13:57
php注册登录框架 php如何实现注册
php注册登录框架 php如何实现注册

用PHP做登陆注册页面登录页:login.php&lt;?phpinclude("conn.php");$username=$_POST['name'];$password=$_POST['password'];$yanzheng=$_POST['yanzheng'];if(isset($_POST['submit'])){$sql=("selectuser

2023-09-11 00:34:35