一、原理
- 表单起到在html页面中搜集用户输入信息的作用。包括文本输入框、单选框、多选框、下拉框、按钮等。
- PHP文件中可以使用 G E T 、 _GET、 GET、_POST、$_REQUEST接收form表单传递的数据。
- PHP与MySQL之间进行数据交互可以使用扩展mysqli,常用函数包括:
mysqli_connnect();——>连接数据库
mysqli_select();——>选择数据库
mysqli_query();——>执行数据库语句
mysqli_fetch_array();——>将执行结果转成数据格式
mysqli_fetch_row();——>获取结果行数
二、作业
(一)题目
描述:写一个登陆表单,并实现其注册 + 登录功能。
要求:
1、表单必须和数据库交互。
2、注册和登录功能都必须有
提示:
1、登录成功后需要给回显
(二)结果
-
首先设计并创建数据库。
库名:zuoye
表名:userInfo
表字段:username、password
-
实现登录页面。包括用户名输入框、密码输入框,按钮以及跳转注册页面提示语。
代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>主界面</title>
</head>
<body>
<center>
<div>
<form action="login.php" method="POST">
用户名:<input type="text" name="username" /><br /><br />
密 码:<input type="password" name="password" /><br /><br />
<input type="submit" value="登录"><br /><br />
</form>
<div>还没有账号?<a href="register.html">马上注册</a></div>
</div>
</center>
</body>
</html>
- 实现登录处理的PHP文件代码。包括接收登录页面传递的参数、与数据库交互、检查登录信息等(数据库密码已隐藏)。
代码:
<?php
$user = $_POST['username'];
$psw = $_POST['password'];
$conn = mysqli_connect('127.0.0.1', 'root', '******', 'zuoye');
$sql = "select username from userInfo where username='$user' and password='$psw'";
$request = mysqli_query($conn, $sql);
if(mysqli_fetch_row($request)){
echo "<script>alert('登陆成功'); history.go(-1);</script>";
}
else{
echo "<script>alert('登陆失败'); history.go(-1);</script>";
}
?>
- 实现注册页面。包括用户名输入框、密码输入框、确认密码输入框,按钮以及跳转登录页面提示语。
代码:
<!doctype html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>注册</title>
</head>
<body>
<center>
<form action="register.php" method="POST">
用户名:<input type="text" name="username" /><br /><br />
密 码:<input type="password" name="password"><br /><br />
确认密码:<input type="password" name="repassword"><br /><br />
<input type="submit" value="注册"><br /><br />
</form>
已有账号,<a href="index.html">马上登录</a>
</center>
</body>
</html>
- 实现注册处理的PHP文件代码。包括接收注册页面传递的参数、与数据库交互、检查注册信息等(数据库密码已隐藏)。
代码:
<?php
$user = $_POST['username'];
$psw = $_POST['password'];
$rpsw = $_POST['repassword'];
$conn = mysqli_connect('127.0.0.1', 'root', '******', 'zuoye');
$sql = "select * from userInfo where username='$user'";
$result = mysqli_query($conn, $sql);
if(!mysqli_fetch_row($result)){
if ($psw==$rpsw) {
$sql = "insert into userInfo value ('$user','$psw')";
$request = mysqli_query($conn, $sql);
if($request){
echo "<script>alert('注册成功'); top.location='index.html';</script>";
}
}
else{
echo "<script>alert('两次密码不一致'); history.go(-1);</script>";
}
}
else{
echo "<script>alert('用户名已存在'); history.go(-1);</script>";
}
?>
- 运行结果
登录界面:
登录成功提示:
登录失败提示:
注册页面:
用户名已存在提示:
两次密码不一致:
注册成功提示(点确定自动跳至登录界面):