100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > php注册登录描述 基于PHP实现用户登录注册功能的详细教程

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

时间:2019-08-13 21:27:16

相关推荐

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

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

图1:

图2:

图3:

教程:

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

login.php

(登录界面,如图2)

登录

登录页面

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)

注册

注册页面

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使用:/docs/4.3/getting-started/introduction/)

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。