教程前先给大家看看小编的实现成果吧!

图1:

图2:

图3:

教程:

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

login.php

(登录界面,如图2)

登录

登录页面

用户名:

required="required" value="<?php

echo isset($_COOKIE[""]) ? $_COOKIE[""] : ""; ?>">

密 码:
记住我

colspan="2" align="center" style="color:red;font-size:10px;"> <?php

$err = isset($_GET["err"]) ? $_GET["err"] : "";

switch ($err) {

case 1:

echo "用户名或密码错误!";

break;

case 2:

echo "用户名或密码不能为空!";

break;

} ?>

name="reset" value="重置">

还没有账号,快去注册吧
Copyright © 版权所有·欢迎翻版

loginaction.php

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

// $Id:$ //声明变量

$username = isset($_POST['username']) ? $_POST['username'] : "";

$password = isset($_POST['password']) ? $_POST['password'] : "";

$remember = isset($_POST['remember']) ? $_POST['remember'] : ""; //判断用户名和密码是否为空

if (!empty($username) && !empty($password)) { //建立连接

$conn = mysqli_connect('localhost', '', '', 'user'); //准备SQL语句

$sql_select = "SELECT username,password FROM usertext WHERE username = '$username' AND password = '$password'"; //执行SQL语句

$ret = mysqli_query($conn, $sql_select);

$row = mysqli_fetch_array($ret); //判断用户名或密码是否正确

if ($username == $row['username'] && $password == $row['password'])

{ //选中“记住我”

if ($remember == "on")

{ //创建cookie

setcookie("", $username, time() + 7 * 24 * 3600);

} //开启session

session_start(); //创建session

$_SESSION['user'] = $username; //写入日志

$ip = $_SERVER['REMOTE_ADDR'];

$date = date('Y-m-d H:m:s');

$info = sprintf("当前访问用户:%s,IP地址:%s,时间:%s /n", $username, $ip, $date);

$sql_logs = "INSERT INTO logs(username,ip,date) VALUES('$username','$ip','$date')";

//日志写入文件,如实现此功能,需要创建文件目录logs

$f = fopen('./logs/' . date('Ymd') . '.log', 'a+');

fwrite($f, $info);

fclose($f); //跳转到loginsucc.php页面

header("Location:loginsucc.php"); //关闭数据库,跳转至loginsucc.php

mysqli_close($conn);

}

else

{

//用户名或密码错误,赋值err为1

header("Location:login.php?err=1");

}

} else { //用户名或密码为空,赋值err为2

header("Location:login.php?err=2");

} ?>

loginsucc.php

(登录成功后界面,如图3)

登录成功

charset="UTF-8">

// $Id:$ //开启session

session_start(); //声明变量

$username = isset($_SESSION['user']) ? $_SESSION['user'] : ""; //判断session是否为空

if (!empty($username)) { ?>

登录成功!

欢迎您!

echo $username; ?>

退出 //跳转至主网页

} else { //未登录,无权访问

?>

你无权访问!!!

} ?>

register.php

(注册界面,如图1)

注册

注册页面

用户名:
密 码:

required="required">

重复密码:

name="re_password" required="required">

性别: 男 女
QQ:
Email:
电话:
地址:

$err = isset($_GET["err"]) ? $_GET["err"] : "";

switch ($err) {

case 1:

echo "用户名已存在!";

break;

case 2:

echo "密码与重复密码不一致!";

break;

case 3:

echo "注册成功!";

break;

}

?>

如果已有账号,快去登录吧!

Copyright © 版权所有·欢迎翻版

registeraction.php

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

// $Id:$ //声明变量

$username = isset($_POST['username']) ? $_POST['username'] : "";

$password = isset($_POST['password']) ? $_POST['password'] : "";

$re_password = isset($_POST['re_password']) ? $_POST['re_password'] : "";

$sex = isset($_POST['sex']) ? $_POST['sex'] : "";

$qq = isset($_POST['qq']) ? $_POST['qq'] : "";

$email = isset($_POST['email']) ? $_POST['email'] : "";

$phone = isset($_POST['phone']) ? $_POST['phone'] : "";

$address = isset($_POST['address']) ? $_POST['address'] : "";

if ($password == $re_password) { //建立连接

$conn = mysqli_connect("localhost", "", "", "user"); //准备SQL语句,查询用户名

$sql_select = "SELECT username FROM usertext WHERE username = '$username'"; //执行SQL语句

$ret = mysqli_query($conn, $sql_select);

$row = mysqli_fetch_array($ret); //判断用户名是否已存在

if ($username == $row['username']) { //用户名已存在,显示提示信息

header("Location:register.php?err=1");

} else { //用户名不存在,插入数据 //准备SQL语句

$sql_insert = "INSERT INTO usertext(username,password,sex,qq,email,phone,address)

VALUES('$username','$password','$sex','$qq','$email','$phone','$address')"; //执行SQL语句

mysqli_query($conn, $sql_insert);

header("Location:register.php?err=3");

} //关闭数据库

mysqli_close($conn);

} else {

header("Location:register.php?err=2");

} ?>

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

1.创建数据库及表单

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

登陆myadmin后创建数据库user和表单usertext:

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

这里小编先解释下列php数据库操作函数的作用:

(1)mysqli_connect(“localhost”, “服务器名”, “数据库密码”, “连接的数据库名”);

参数描述:

“localhost”,不需要更改,新手切忌不要改成服务器的ip地址,因为创建数据库的默认的有权限访问用户为:

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

(2)mysqli_query()函数执行某个针对数据库的查询:

mysqli_query(connection,query,resultmode);

参数描述:

connection必需。规定要使用的 MySQL 连接。

query必需,规定查询字符串。

(这是一个存放mysql命令的字符串,命令内容要用该函数才可实现)

resultmode

可选。一个常量。可以是下列值中的任意一个:

MYSQLI_USE_RESULT(如果需要检索大量数据,请使用这个)

MYSQLI_STORE_RESULT(默认)

eg:

(3)mysqli_fetch_array() 函数

从结果集中取得一行作为关联数组,或数字数组,或二者兼有。

mysqli_fetch_array(result,resulttype);

参数描述:

result必需。规定由 mysqli_query()、mysqli_store_result() 或 mysqli_use_result() 返回的结果集标识符。

resulttype可选。规定应该产生哪种类型的数组。可以是以下值中的一个:

MYSQLI_ASSOC

MYSQLI_NUM

MYSQLI_BOTH

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

下面我们来对loginaction.php和registeraction.php两个文件进行更改

如果数据库创建和第1步时一样,那只需要对两个文件中的:

mysqli_connect(“localhost”, “服务器名”, “数据库密码”, “user”);

进行用户信息填写即可。

如果数据库名称或表单不一样,则需要找到下面语句:

mysqli_connect(“localhost”, “服务器名”, “数据库密码”, “user”);

SELECT;

INSERT INTO;(只在registeraction.php有)

将上述语句中的(数据库名)user和(表单名)usertext修改成你的数据库名和表单名。

4进一步完善

有兴趣的朋友可以试着向小编一样创建超链接,登录成功后跳转到指定网页;

在loginsucc.php中找到退出将login.php改为其他网页(直接写文件名的话需要放于同一目录下)

点击链接:

当然有进必有出,这里小编设置了一个退出登录modal

(bootstrap使用:https://getbootstrap.com/docs/4.3/getting-started/introduction/)

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

php注册登录描述,基于PHP实现用户登录注册功能的详细教程相关推荐

  1. 基于jwt的用户登录认证

    最近在app的开发过程中,做了一个基于token的用户登录认证,使用vue+node+mongoDB进行的开发,前来总结一下. token认证流程: 1:用户输入用户名和密码,进行登录操作,发送登录信 ...

  2. java web网站实例_Java Web开发: 基于HttpServlet的用户登录网站 实例

    2013-02-04 20:50 814人阅读 评论(0) 一个简单的小例子,基于httpservlet的用户登录(杂家是菜鸟刚接触javaee,只能从最简单出发了),首先看业务逻辑: 有三个文件组成 ...

  3. 国外注册的域名dns服务器换回国内dns服务器的详细教程!

    国外注册的域名dns服务器换回国内dns服务器的详细教程! 其他国外域名也类似: 今天据网友反映打不开网站,了解之后才知道是域名ping不通了, 在论坛里了解到Godaddy的域名容易出现国内ping ...

  4. java wed登录面 代码_JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)...

    下面通过通过图文并茂的方式给大家介绍JavaWeb实现用户登录注册功能实例代码,一起看看吧. 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBea ...

  5. 基于IO流读取的 完成 用户登录,注册,修改,查看所有用户,删除功能

    Controller import java.util.Scanner;/*** 视图层* 完成用户登录,注册,修改,删除功能*/ public class Controller {/*** 字符输入 ...

  6. 基于angular2实现用户登录并信息持久化的一些理解(二)

    (接上篇) 上面我已经定好了目标及方案,下面我来简单实现一下后端接口及前端调用.(由于精力有限,这里不关注怎么去实现整个过程,仅描述一些本人实现过程中会遇到的问题及解决方案) Nodejs实现简单后台 ...

  7. php开发用户登录模块,使用CodeIgniter开发用户登录注册模块

    本文介绍使用CodeIgniter来开发一个用户登录和注册的小模块,有详细的数据库表和ci代码. 1.数据库设计 字段 类型 空 额外 索引 id int(10) 否 auto_increment p ...

  8. php登录注册连接数据库,利用PHP连接数据库——实现用户登录注册功能以及管理员对用户注...

    1.用户注册页面 页面效果: 代码如下: !DOCTYPE html html head meta charset="UTF-8" title/title script src=& ...

  9. 【安卓】基于SharedPreferences实现用户登录信息的存储

    1. 设计登录页面 比较简单,重要的点就一个,有一个记住密码的按钮. 代码实现 <?xml version="1.0" encoding="utf-8"? ...

最新文章

  1. JS报“Uncaught TypeError: undefined is not a function ”异常
  2. BAT“上山下乡”,用AI“打入政府”
  3. 3 年经验的 Java 后端妹子,横扫阿里、滴滴、美团,整理出这份厚厚的 8000 字面经!...
  4. python template用法_python中Template的使用介绍
  5. H3CNE新版本V6.0与旧版本V5.1的区别
  6. ubuntu20.04运行海商王2
  7. MySQL的常见命令
  8. Spring 与 MVC 框架整合思路
  9. python编辑excel文件_python自动化之修改excel(包括xls文件和xlsx文件)
  10. java 打印excel
  11. linux中原子量的学习和理解
  12. 【听说隔壁老王开始学编程了?】
  13. 【ubuntu系统下装win10双系统】
  14. 【Java】 Java中接口是什么,以及接口的使用和理解
  15. horner算法matlab实现,使用Euclid和Horner算法的多项式求值
  16. 浙江更新了小学3年级到9年级信息技术课,小学开始学编程
  17. 王道考研——操作系统(第一章 计算机系统概述)
  18. 第二章 关系模型和关系运算理论 3类完整性
  19. python爬虫刨北上广深的房价来看看
  20. 大话数据结构 -- 查找

热门文章

  1. 【回顾】巨杉数据库中标东莞农商银行非结构化内容管理平台项目
  2. 智慧公厕解决方案,光明源智慧公厕解决方案全解
  3. CAD图形导入3dmax方法及注意要点
  4. 313day(服务器的一些问题)
  5. 【成长访谈】周新林:靠持续的努力,总能换来自己期望的生活
  6. Python数据可视化第 7 讲:matplotlib绘制直方图函数hist
  7. E. 新旧身份证(继承)
  8. XML shema 约束入门 (2 ) 约束文件加入与说明
  9. 解决catkin_make时出现make[2]: *** No rule to make target ‘/usr/lib/libOpenNI2.so‘, needed by ‘*******‘。
  10. 条形码识别(3)——译码