这也许需要很多文件和文件
- 目录结构
- 发送数据端(客户端)
- 接收数据端(数据库)
- 解析数据函数
目录结构:
结构如下:
文件夹 | 解释 |
---|---|
css | 存储样式文件 |
function | 存储函数文件 |
images | 存储图片文件 |
js | 存储JavaScript 文件 |
发送数据端(客户端):
我们先来注册账号:
接收数据端(数据库)
我们创建数据库:
# 创建数据库
create database `data_demo`;
# 选择数据库
use `data_demo`;
# 创建表格
create table `users`(
`id` int primary key auto_increment comment '序号',
`userName` varchar(6) comment '用户名',
`user` varchar(12) comment '账号',
`password` varchar(18) comment '密码'
) default charset=utf8;
得到:
我们得到这样一个数据库和表后,就要开始和PHP对接了
解析数据函数:
- 解析注册数据
- 解析登录数据
解析注册数据:
代码:
<?php
# 获取用户输入信息
$regWeb = $_POST;
$userName = $_POST['userName'];
$user = $_POST['user'];
$password = $_POST['password'];
if ($userName == '' || $user == '' || $password == ''){
echo '注册失败,请将注册信息填写正确';
# 终止所有代码
exit();
}
//print_r($regWeb);
# 连接数据库
$link = mysqli_connect(
'localhost',
'root',
'root',
'data_demo'
);
# 检测是 $link 的值是否设置.
echo isset($link) ? '数据库连接成功' : '数据库连接失败', '<br>';
/*
* 获取数据库中,某个表的数据
* mysqli_query()可以执行
*
*/
$result = mysqli_query($link, 'select * from `users`');
# 获取所有数据
$result = mysqli_fetch_all($result);
# 检测能否注册,
function yz($regWeb, $result)
{
$cound = sizeof($result);
$on = false;
$si = 0;
for ($i = 0; $i < $cound; $i++) {
if ($result[$i][1] != $regWeb['userName'] && $result[$i][2] != $regWeb['user']) {
$si++;
if ($si == $cound) {
# echo '注册成功<br>';
return $on = true;
}
} else {
# echo '注册失败<br>';
return $on = false;
break;
}
}
return $on;
}
$yz = yz($regWeb, $result);
if ($yz == true) {
echo '注册成功<br>';
mysqli_query($link, "insert into `users` values(default, '$userName', '$user', '$password')");
}else{
echo '注册失败,已有此账户,或信息填写错误<br>';
}
解析登录数据:
<?php
# 获取用户登录信息
$webData = $_POST;
# 连接数据库
$link = mysqli_connect(
'localhost',
'root',
'root',
'data_demo'
);
echo '连接数据库', isset($link) ? '成功' : '失败', '<br>';
# 获取数据库 用户表 数据
$baseTable = mysqli_query($link, 'select * from `users`');
# 将表中的数据 完全返回. 以 数组形式
$baseTable = mysqli_fetch_all($baseTable);
/*
* 查询数据库中是否有此账户
* 返回查询结果
* 若有此账户
* 查询密码是否正确
* 若正确,提示成功
*/
//echo '<pre>';
function login($link, $webData, $baseTable){
# 获取 web端用户提交的:
# 用户名/账户
$webNU = $webData['user'];
# 密码
$webPass = $webData['password'];
# 记录循环次数,看看是否将数据遍历完成
$fre = 0;
# 获取 数据库 数组 大小, 设置循环 次数
$count = sizeof($baseTable);
for ($i=0; $i<$count; $i++){
# 获取数据库中的
# 用户名
$baseUN = $baseTable[$i][1];
# 账户
$baseUser = $baseTable[$i][2];
# 密码
$basePass = $baseTable[$i][3];
# 提交的用户名或密码,是否跟,数据库中的相同
# 也就是说,查询数据库中有没有此值
if ($webNU == $baseUN || $webNU == $baseUser){
echo '账户存在,正在验证密码……<br>';
# 验证密码
if ($webPass == $basePass){
echo '验证通过';
}else{
echo '验证失败,密码错误。';
}
}else{
$fre++;
if ($fre == $count){
echo '账户不存在……<br>';
}
}
}
}
login($link, $webData, $baseTable);