MySQL与PHP基本教程-2-与PHP或表单的网页交互

24 篇文章 0 订阅
21 篇文章 0 订阅

这也许需要很多文件和文件

  • 目录结构
  • 发送数据端(客户端)
  • 接收数据端(数据库)
  • 解析数据函数

目录结构:

结构如下:
在这里插入图片描述

文件夹解释
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);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值