实现登录注册功能(PHP+MySQL)

        这个功能总共需要5个页面:login.html, logincheck.php, register.html, registercheck.php

以及检验登录成功后跳转页面, main.html.

        前端html的主要核心在于采用表单提交将用户名:uername和密码:password提交给后端的php检查文件。不过这里面有个小技巧,就是当表单点击提交的时候如果什么处理都不做的话,页面会跳转到php文件,但是php文件只提供检查用户是否合法而已,如果可以的话,我们不希望跳转到php页面,登录时就只显示login.html,我们尽可能让php文件偷偷摸摸的执行,然后将检查结果返回给html页面就行。基于这点,这里通过iframe标签来实现,在form标签中添加属性target让他跳转页面在这个target中执行,然后将iframe标签的weight,height设为0,这样子就实现了提交form时不跳转到php检查文件了。

相关代码如下:

        然后php后端的话先获取前端传来的username和password,php中有默认的全局变量

$_GET[ 'xxx'], $_POST['xxx'], 采用GET方法提交就是$_GET, POST方法提交就是$_POST, 引号内的是form表单中的对应name属性, 换句话说(假设GET提交方法),form提交后,name=“username”的账号的值就是$_GET["username"], name="password"密码的值就是$_GET["password"], 这样子就实现了前后端值的交互。

然后就是连接数据库,在数据库的用户表中查询账号和密码是否合法。对应的检查结果由于php文件是在大小为0的iframe中做的,检查结果就只能通过alert('')来反馈。

$db = @new mysqli():连接数据库,  参数依次代表, ip地址, 账户, 密码, 数据库。这里localhost即为本机,root根用户, 默认密码为空,test数据库名

$sql表示查询语句

$rs = $db->query($sql), 若查询结果$rs不空, 登录成功。根据username进一步检验是学生用户还是教师用户或者管理员用户,分别进入不同的页面。(这里跳转记得是父页面html跳转不是php文件跳转要用parent.location.href='' ) :

   

         echo '<script>parent.location.reload();</script>'; 表示登录失败刷新父页面(login.html)即重新登录账号和密码。

        注册功能类似于登录功能

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值