首页 > 作文

基于PHP实现用户登录注册功能的详细教程

更新时间:2023-04-08 21:32:58 阅读: 评论:0

教程前先给大家看看www.887551.com的实现成果吧!

图1:

图2:

图3:

教程:
实现这个功能我们需要五个php文件:

login.php
(登录界面,如图2)

<!doctype html><html><head><title>登录</title><meta name="content-type"; chart="utf-8"></head><body> <div class="content" align="center"> <!--头部--> <div class="header"> <h1>登录页面</h1> </div> <!--中部--> <div class="middle"> <form id="loginform" action="loginaction.php" method="post"> <table border="0"> <tr>  <td>用户名:</td> <td> <input type="text" id="name" name="urname" required="required" value="<?phpecho ist($_cookie[""]) ? $_cookie[""] : ""; ?>"> </td> </tr> <tr> <td>密 码:</td> <td><input type="password" id="password" name="password"></td> </tr> <tr> <td colspan="2"> <input type="checkbox" name="remember"><small>记住我 </td> </tr> <tr> <td colspan="2" align="center" style="color:red;font-size:10px;"> <!--提示信息--> <?php$err = ist($_get["err"]) ? $_get["err"] : "";switch ($err) { ca 1:  echo "用户名或密码错误!";  break; ca 2:  echo "用户名或密码不能为空!";  break;} ?> </td> </tr> <tr> <td colspan="2" align="center"> <input type="submit" id="login" name="login" value="登录"> <input type="ret" id="ret" name="ret" value="重置"> </td> </tr> <tr>  <td colspan="2" align="center"> 还没有账号,快去<a href="register.php" rel="external nofollow" >注册</a>吧</td></tr> </table> </form> </div> <!--脚部--> <div class="footer"> <small>copyright &copy; 版权所有·欢迎翻版 </div> </div></body></html>  

loginaction.php
(使login.php实现与数据库的连接,并校正输入)

<?php// $id:$ //声明变量$urname = is动词英语t($_post['urname']) ? $_post['urname'] : "";$password = ist($_post['password']) ? $_post['password'] : "";$remember = ist($_post['remember']) ? $_post['remember'] : ""; //判断用户名和密码是否为空if (!empty($urname) && !empty($password)) { //建立连接 $conn = mysqli_connect('localhost', '', '', 'ur'); //准备sql语句 $sql_lect = "lect urname,password from urtext where urname = '$urname' and password = '$password'"; //执行sql语句 $ret = mysqli_query($conn, $sql_lect); $row = mysqli_fetch_array($ret); //判断用户名或密码是否正确 if ($urname == $row['urname'] && $password == $row['password'])  { //选中“记住我”  if ($remember == "on")   { //创建cookie   tcookie("", $urname, time() + 7 * 24 * 3600);  } //开启ssion  ssion_start(); //创建ssion  $_ssion['ur'] = $urname; //写入日志  $ip = $_rver['remote_addr'];  $date = date('y-m-d h:m:s');  $info = sprintf("当前访问用户:%s,ip地址:%s,时间:%s /n", $urname, $ip, $date);  $sql_logs = "inrt into logs(urname,ip,date) values('$urname','$ip','$date')";  //日志写入文件,如实现此功能,需要创建文件目录logs  $f = fopen('./logs/' . date('ymd') . '.log', 'a+');  fwrite($f, $info);  fclo($f); //跳转到loginsucc.php页面  header("location沈阳著名景点:loginsucc.php"); //关闭数据库,跳转至loginsucc.php  mysqli_clo($conn); } el  {   //用户名或密码错误,赋值err为1  header("location:login.php?err=1"); }} el { //用户名或密码为空,赋值err为2 header("location:login.php?err=2");} ?>

logi补偿电容nsucc.php
(登录成功后界面,如图3)

<!doctype html><html><head><title>登录成功</title><meta name="content-type"; chart="utf-8"></head><body> <div> <?php// $id:$ //开启ssionssion_start(); //声明变量$urname = ist($_ssion['ur']) ? $_ssion['ur'] : ""; //判断ssion是否为空if (!empty($urname)) { ?> <h1>登录成功!</h1> 欢迎您!<?php echo $urname; ?> <br/> <a href="login.php" rel="external nofollow" rel="external nofollow" >退出</a> //跳转至主网页<?php} el { //未登录,无权访问  ?> <h1>你无权访问!!!</h1> <?php} ?> </div></body></html>

register.php
(注册界面,如图1)

<!doctype html><html><head><title>注册</title><meta name="content-type"; chart="utf-8"></head><body> <div class="content" align="center"> <!--头部--> <div class="header"> <h1>注册页面</h1> </div> <!--中部--> <div class="middle"> <form action="registeraction.php" method="post"> <table border="0"> <tr> <td>用户名:</td> <td><input type="text" id="id_name" name="urname" required="required"></td> </tr> <tr> <td>密 码:</td> <td><input type="password" id="password" name="password" required="required"></td> </tr> <tr> <td>重复密码:</td> <td><input type="password" id="re_password" name="re_password" required="required"></td> </tr> <tr> <td>性别:</td> <td> <input type="radio" id="x" name="x" value="mam">男 <input type="radio" id="x" name="x" value="woman">女 </td> </tr> <tr> <td>qq:</td> <td><input type="text" id="qq" name="qq" required="required"></td> </tr> <tr> <td>email:</td> <td><input type三星rv415="email" id="email" name="email" required="required"></td> </tr> <tr> <td>电话:</td> <td><input type="text" id="phone" name="phone" required="required"></td> </tr> <tr> <td>地址:</td> <td><input type="text" id="address" name="address" required="required"></td> </tr> <tr> <td colspan="2" align="center" style="color:red;font-size:10px;"> <!--提示信息--> <?php$err = ist($_get["err"]) ? $_get["err"] : "";switch ($err) { ca 1:  echo "用户名已存在!";  break; ca 2:  echo "密码与重复密码不一致!";  break; ca 3:  echo "注册成功!";  break;}?> </td> </tr> <tr> <td colspan="2" al文言文被动句ign="center"> <input type="submit" id="register" name="register" value="注册"> <input type="ret" id="ret" name="ret" value="重置"> </td></tr>  <tr> <td colspan="2" align="center"> 如果已有账号,快去<a href="login.php" rel="external nofollow" rel="external nofollow" >登录</a>吧! </td> </tr> </table> </form> </div> <!--脚部--> <div class="footer"> <small>copyright &copy; 版权所有·欢迎翻版 </div> </div></body></html>

registeraction.php
(实现register.php连接数据库,并向指定表单插入数据)

<?php// $id:$ //声明变量$urname = ist($_post['urname']) ? $_post['urname'] : "";$password = ist($_post['password']) ? $_post['password'] : "";$re_password = ist($_post['re_password']) ? $_post['re_password'] : "";$x = ist($_post['x']) ? $_post['x'] : "";$qq = ist($_post['qq']) ? $_post['qq'] : "";$email = ist($_post['email']) ? $_post['email'] : "";$phone = ist($_post['phone']) ? $_post['phone'] : "";$address = ist($_post['address']) ? $_post['address'] : "";if ($password == $re_password) { //建立连接 $conn = mysqli_connect("localhost", "", "", "ur"); //准备sql语句,查询用户名 $sql_lect = "lect urname from urtext where urname = '$urname'"; //执行sql语句 $ret = mysqli_query($conn, $sql_lect); $row = mysqli_fetch_array($ret); //判断用户名是否已存在 if ($urname == $row['urname']) { //用户名已存在,显示提示信息  header("location:register.php?err=1"); } el { //用户名不存在,插入数据 //准备sql语句  $sql_inrt = "inrt into urtext(urname,password,x,qq,email,phone,address) values('$urname','$password','$x','$qq','$email','$phone','$address')"; //执行sql语句  mysqli_query($conn, $sql_inrt);  header("location:register.php?err=3"); } //关闭数据库 mysqli_clo($conn);} el { header("location:register.php?err=2");} ?>

建议将五个文件存于本地,便于更改,当然不介意用linux的文本编辑器也可以直接上传后在服务器端修改。保存好文件后:

1.创建数据库及表单

www.887551.com这里是通过phpmyadmin可视化界面创建的数据库和表单,进入ip/phpmyadmin后登陆数据库:

登陆myadmin后创建数据库ur和表单urtext:

2.php文件中操作数据库的函数

这里www.887551.com先解释下列php数据库操作函数的作用:
(1)mysqli_connect(“localhost”, “服务器名”, “数据库密码”, “连接的数据库名”);
参数描述:
“localhost”,不需要更改,新手切忌不要改成服务器的ip地址,因为创建数据库的默认的有权限访问用户为:

“连接的数据库名”,是数据库不要填表单,第一步的ur是数据库,urtext是表单。

(2)mysqli_query()函数执行某个针对数据库的查询:
mysqli_query(connection,query,resultmode);
参数描述:
connection必需。规定要使用的 mysql 连接。
query必需,规定查询字符串。
(这是一个存放mysql命令的字符串,命令内容要用该函数才可实现)
resultmode
可选。一个常量。可以是下列值中的任意一个:
mysqli_u_result(如果需要检索大量数据,请使用这个)
mysqli_store_result(默认)
eg:

(3)mysqli_fetch_array() 函数
从结果集中取得一行作为关联数组,或数字数组,或二者兼有。
mysqli_fetch_array(result,resulttype);
参数描述:
result必需。规定由 mysqli_query()、mysqli_store_result() 或 mysqli_u_result() 返回的结果集标识符。
resulttype可选。规定应该产生哪种类型的数组。可以是以下值中的一个:
mysqli_assoc
mysqli_num
mysqli_both

3修改php文件实现登录注册

下面我们来对loginaction.php和registeraction.php两个文件进行更改
如果数据库创建和第1步时一样,那只需要对两个文件中的:
mysqli_connect(“localhost”, “服务器名”, “数据库密码”, “ur”);
进行用户信息填写即可。
如果数据库名称或表单不一样,则需要找到下面语句:
mysqli_connect(“localhost”, “服务器名”, “数据库密码”, “ur”);
lect;
inrt into;(只在registeraction.php有)
将上述语句中的(数据库名)ur和(表单名)urtext修改成你的数据库名和表单名。

4进一步完善

有兴趣的朋友可以试着向www.887551.com一样创建超链接,登录成功后跳转到指定网页;
在loginsucc.php中找到退出将login.php改为其他网页(直接写文件名的话需要放于同一目录下)

点击链接:

当然有进必有出,这里www.887551.com设置了一个退出登录modal
(bootstrap使用:https://getbootstrap.com/docs/4.3/getting-started/introduction/)

到此这篇关于基于php实现用户登录注册功能的详细教程的文章就介绍到这了,更多相关php实现用户登录注册内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!

本文发布于:2023-04-08 21:32:56,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/52c02c153dcfe33fe726ff6384371697.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:基于PHP实现用户登录注册功能的详细教程.doc

本文 PDF 下载地址:基于PHP实现用户登录注册功能的详细教程.pdf

标签:数据库   用户名   表单   密码
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图