在我们这个项目里面,一共用到了5个php文件,他们分别是:

login.php 登录页面

logincheck.php 登录检测php文件

register.php 新用户注册页面

regcheck.php 新用户注册检验及插入数据库处理php文件

index.php 登录成功后的显示页面

首先我们来看login.php页面

<!DOCTYPE html>
<html>
<head>
<title>用户登录页面</title>
<meta charset="utf-8" />
<style>
h1{
/*设置标题的上边距为50px*/
margin-top:50px;
/*设置标题居中显示*/
text-align:center;
}
div{
/*设置这个div的宽度*/
width:300px;
/*设置这个div的高度*/
height:150px;
/*设置这个div的背景颜色*/
background:#f0f0f0;
/*设置上边距为150%,左右边距为自适应(居中显示)*/
margin:50px auto;
/*加大一下内边距,看起来不那么挤,也可以理解为内容在容器里的缩进*/
padding:20px;
/*设置文本居中显示*/
text-align:center;
}
table,td{
/*设置表格居中显示*/
margin:auto;
/*设置表格内边距,看起来不那么挤*/
padding:5px;
}
</style>
</head>
<body>
<!-- -->
<!-- 登录界面 login.php-->
<h1>用户登录</h1>
<div>
<!-- 创建一个表单,这个表单将会把内容提交给logincheck.php页面,提交方法为post -->
<form action="logincheck.php" method="post">
<table>
<tr>
<td>用户名:</td>
<td><input type="text" name="username" maxLength="6"></td>
</tr>
<tr>
<td>密 码:</td>
<td><input type="password" name="userpwd" maxLength="6"></td>
</tr>
<tr>
<td><input type="submit" name="submit" value="登陆" > </td>
<td><a href="register.php">注册</a></td>
</tr>
</table>
</form>
</div>
</body>
</html>

logincheck.php 文件:

<?php
//登录处理界面 logincheck.php
//判断是否按下登录按钮
if(isset($_POST["submit"]) && $_POST["submit"] == "登陆")
{
//将用户名和密码存入变量中,供后续使用
$user = $_POST["username"];
$pwd = $_POST["userpwd"];
if($user == "" || $pwd == "")
{
//用户名或者密码其中之一为空,则弹出对话框,确定后返回当前页的上一页
echo "<script>alert('请输入用户名或密码!'); history.go(-1);</script>";
}
else
{ //确认用户名密码不为空,则连接数据库
$conn = mysqli_connect("localhost","root","root","mydb");
if(mysqli_errno($conn)){
echo "连接失败:" . mysqli_errno($conn);
exit;
}
//查询账号密码是否正确
$sql = "select username,userpwd from user where username = '$user' and userpwd = '$pwd'";
//返回查询结果
$result = mysqli_query($conn,$sql);
//查询结果的条数
$num = mysqli_num_rows($result);
//如果查询结果的条数不为0
if($num)
{
echo "<script>alert('成功登录'); window.location.href='index.php';</script>";
}
else
{
echo "<script>alert('用户名或密码不正确!');history.go(-1);</script>";
}
}
}
else
{
echo "<script>alert('提交未成功!');</script>";
} ?>

register.php 页面:

<!DOCTYPE html>
<html>
<head>
<title>用户登录页面</title>
<meta charset="utf-8" />
<style>
h1{
/*设置标题的上边距为50px*/
margin-top:50px;
/*设置标题居中显示*/
text-align:center;
}
div{
/*设置这个div的宽度*/
width:300px;
/*设置这个div的高度*/
height:150px;
/*设置这个div的背景颜色*/
background:#f0f0f0;
/*设置上边距为150%,左右边距为自适应(居中显示)*/
margin:50px auto;
/*加大一下内边距,看起来不那么挤,也可以理解为内容在容器里的缩进*/
padding:20px;
/*设置文本居中显示*/
text-align:center;
}
table,td{
/*设置表格居中显示*/
margin:auto;
/*设置表格内边距,看起来不那么挤*/
padding:5px;
}
</style>
</head>
<body>
<!-- -->
<!-- 注册页面 register.php-->
<h1>用户注册</h1>
<div>
<!-- 创建一个表单,这个表单将会把内容提交给regcheck.php页面,提交方法为post -->
<form action="regcheck.php" method="post">
<table>
<tr>
<td>用户名:</td>
<td><input type="text" name="username" maxLength="12"></td>
</tr>
<tr>
<td>密 码:</td>
<td><input type="password" name="userpwd" maxLength="12"></td>
</tr>
<tr>
<td>确认密码:</td>
<td><input type="password" name="confirm" maxLength="12"></td>
</tr>
</table>
<input type="submit" name="register" value="注册" >
</form>
</div>
</body>
</html>

regcheck.php页面

<?php
//注册处理界面 regcheck.php //使用 isset 函数 检测变量是否已设置 并且非 NULL
if(isset($_POST["register"]) && $_POST["register"] == "注册")
{
//将 register.php 页面中表单内容赋值给变量
$user = $_POST["username"];
$pwd = $_POST["userpwd"];
$pwd_confirm = $_POST["confirm"]; // check 输入项不能为空
if($user == "" || $pwd == "" || $pwd_confirm == "")
{
echo "<script>alert('请确认信息完整性!'); history.go(-1);</script>";
}
else
{ //如果两次输入的密码一致,则开始连接数据库
if($pwd == $pwd_confirm)
{
//开始连接数据库
$conn = mysqli_connect("localhost","root","root","mydb");
//如果连接数据库发生错误退出
if(mysqli_errno($conn)){
echo mysqli_error($conn);
exit;
} //查询user数据表的username字段,看是否有与$user相同的记录
$sql ="select username from user where username = '$user'"; //执行SQL语句,并把结果保存在$result中
//针对成功的 SELECT、SHOW、DESCRIBE 或 EXPLAIN 查询,将返回一个 mysqli_result 对象。
//针对其他成功的查询,将返回 TRUE。
//如果失败,则返回 FALSE。
$result = mysqli_query($conn,$sql); echo "查询返回的结果类型为" . gettype($result) . '<br>'; if($result){
echo "查询成功<br>";
//mysqli_num_rows函数返回结果集中行的数量
$num = mysqli_num_rows($result);
echo "查询行数为" . $num . "<br>";
}else{
echo "查询错误!" . mysqli_error($conn);
} if($num>0)//如果已经存在该用户
{
echo "<script>alert('用户名已存在'); history.go(-1);</script>";
}
else //不存在当前注册用户名称就将这些信息插入到数据表中
{
$sql_insert = "INSERT INTO user(username,userpwd) VALUES('$user','$pwd')";
//执行插入语句
$res_insert = mysqli_query($conn,$sql_insert);
if($res_insert)
{ //插入成功
echo "<script>alert('注册成功!'); history.go(-1);</script>";
}
else //插入失败显示系统忙
{
//echo "<script>alert('系统繁忙,请稍候!'); history.go(-1);</script>";
echo "插入 MySQL 失败: " . mysqli_connect_error();
}
}
}
else //如果两次输入的密码不一致
{
echo "<script>alert('密码不一致!'); history.go(-1);</script>";
}
}
}
else
{
echo "<script>alert('提交未成功!');</script>";
}
?>

最新文章

  1. Dapper学习 - Dapper的基本用法(二) - 存储过程/函数
  2. jQuery动态设置样式List item
  3. BZOJ2296: 【POJ Challenge】随机种子
  4. phread_con_wait和pthread_mutex_lock实现的生产者消费者模型
  5. 跟我学android-android常用布局介绍
  6. NYOJ 7-街区最短路径问题(曼哈顿距离)
  7. 海量服务实践──手 Q 游戏春节红包项目设计与总结(上篇)
  8. 01 Java 搭建环境
  9. [物理学与PDEs]第2章第1节 理想流体力学方程组 1.2 理想流体力学方程组
  10. ogg 12.3 for sqlserver 2016/2014 CDC模式配置
  11. redis.clients.jedis.exceptions.JedisDataException :READONLY You can&#39;t write
  12. 第26月第29天 ffmpeg yasm
  13. GitHub入门与实践 读书笔记一:欢迎来到GitHubde世界
  14. Nexus3.x.x上传第三方jar
  15. Spring-data-jpa 学习笔记(二)
  16. [JSOI2007]文本生成器(AC自动机,DP)
  17. AngularJS---核心特性
  18. 07-matplotlib-箱线图
  19. 一次lvs迁移记录
  20. AORUS GA-Z270X-Gaming 5開箱

热门文章

  1. 2022-7-18 第五组 pan 面向对象
  2. 开发中常用的两个JSON方法
  3. linux 学习 mysql安装到连接
  4. HMS Core Discovery第16期回顾|与虎墩一起,玩转AI新“声”态
  5. 一文搞懂什么是kubernetes Service
  6. Redis 定长队列的探索和实践
  7. 大数据管理系统架构Hadoop
  8. Maven 配置文件如何读取pom.xml的内容
  9. java学习第一天.day02
  10. CAD参数化功能的一些构想