PHP MySQL 简介 | 菜鸟教程 (runoob.com)

1.编写一个登录界面

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录界面</title>
</head>
<body>

<h1>登录注册系统</h1>
<form action="result.php" method="post">
<table>
<tr>
<td>请输入你的用户名</td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td>请输入你的密码</td>
<td><input type="text" name="password"></td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="denglu" value="登录">
<input type="submit" name="zhuce" value="注册">
<td>
</tr>
</table>
</form>
</body>

2.与mysql建立联系

1
2
3
4
5
6
7
8
9
10
11
12
<?php
$servername = "localhost";
$username = "你的用户名";
$password = "你的密码";
$dbname="db";
$conn = new mysqli($servername, $username, $password,$dbname);

// 检测连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "连接成功";

line 5:要先在mysql中创建一个名为db(随便)的表,不然会报错

die( ) 输出一条信息,并退出当前脚本

connect_error 返回上一次连接错误的错误描述(报个错)

3.注册

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
$arg1=$_REQUEST['username'];
$arg2=$_REQUEST['password'];
$flag=0;
if($arg1==""||$arg2==""){
$flag=1;
$final=1;
//echo "账户或密码不能为空"."<br/>";
}
else {
if ($result->num_rows > 0) {
// 输出数据
while($row = $result->fetch_assoc()) {
//查重
if($arg1==$row["username"]){
$final=5;
// echo " 此用户名已存在 " . "<br />";
break;
}
}
}
}
if(!$flag){

$sql = "insert into user (username, password)
values ('" . $arg1 . "','" . $arg2 . "')";

// echo $sql;
if ($conn->query($sql) === TRUE) {
$final=6;
// echo " 注册成功 " . "<br />";
} else {
$final=7;
// echo "注册失败". "<br />";
}
}

$result->num_rows 返回结果集中行的数量

$result->fetch_assoc() 从结果集中取得一行作为关联数组

$conn->query($sql) 对数据库进行查询

4.登录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
//登录
$arg1=$_REQUEST['username'];
$arg2=$_REQUEST['password'];
$flag=0;
if($arg1=="" || $arg2==""){
$final =1;
// echo " 用户名或密码不能为空! " . "<br />";
}
else if ($result->num_rows > 0) {

while($row = $result->fetch_assoc()) {
if($arg1==$row["username"]){
$flag=1;
if($arg2==$row["password"]){
$final =2;
//echo " 登录成功 " ."<br />";
}
else{
$final =3;
// echo " 密码错误 " . "<br />";
break;
}
}
}
if(!$flag)
$final =4;
//echo " 不存在此用户 " . "<br />";
} else {
$final =4;
// echo " 不存在此用户 " . "<br />";
}

_REQUEST 收集表单数据

5.将注册和登录结合

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
include ('lianjie.php');
$sql="select username,password from user";
$result=$conn->query($sql);
$final=0;
if(!empty($_REQUEST["zhuce"])){
include ('zhuce.php');
}
else if(!empty($_REQUEST['denglu'])){
include("denglu.php");
}
switch ($final) {
case 0:
echo " 初始结果 " . "<br />";
break;
case 1:
echo " 用户名或密码不能为空! " . "<br />";
break;
case 2:
echo " 登录成功 " . "<br />";
break;
case 3:
echo " 密码错误 " . "<br />";
break;
case 4:
echo " 不存在此用户 " . "<br />";
break;
case 5:
echo " 此用户名已存在 " . "<br />";
break;
case 6:
echo " 注册成功 " . "<br />";
break;
case 7:
echo "注册失败" . "<br />" ;
break;
default:
echo " 默认结果 " . "<br />";
break;
}