#精品
PHP前端链接mysql数据库教程(二)

2025-04-18 0 1,004
一,引言

再连接MySQL数据库时,我们的先为我们的登录页面作一些逻辑判断,
这样更加方便存储我们想要的数据,也提高了数据的安全性。
因此,我们得为我们的前端代码添加一些PHP逻辑判断代码,如下;



PHP前端链接mysql数据库教程(二)




如图红色字体的提示符,就是我们需要的效果,像这种逻辑判断给我们带来的好处有:

1.1 提升用户体验
即时反馈:当用户输入不符合格式要求时,能立刻收到提示,无需提交表单后才发现错误。
比如注册邮箱时,若格式不对,可即时修正,避免重复操作,节省时间,让注册流程更顺畅。
减少挫败感:若用户反复因格式错误注册失败,会产生挫败感甚至放弃注册。
格式判断及时提示,能降低这种负面情绪,提升用户对产品的好感度。

1.2 保证数据质量
数据准确性:确保收集到的数据符合规范,如手机号格式正确,后续短信验证等功能才能正常使用;
邮箱格式正确,才能准确发送激活邮件等,保证业务流程顺利进行。
数据一致性:使数据库中存储的数据格式统一,便于后续数据管理、分析和处理。
比如用户生日按统一格式存储,统计年龄分布等操作会更便捷。

1.3 增强系统安全性
防止恶意输入:可拦截一些恶意的特殊字符输入,避免 SQL 注入、跨站脚本攻击(XSS)等安全风险。
例如对用户名、密码等输入进行格式判断,阻止非法字符,保障系统安全。




二,代码升级

2.1 像这种效果我们仅需在代码里添加php逻辑代码,将它添加至前端代码的 <head> </head> 里;



PHP前端链接mysql数据库教程(二)




2.2 php代码如下:

    <?php
    $user = a($_POST[‘user’]);
    $pwd = a($_POST[‘pwd’]);
    $qrpwd = a($_POST[‘qrpwd’]);
    $phone = a($_POST[‘phone’]);
    $usernull = $pwdnull = $qrpwdnull = $phonenull = “”;

//isset 判断是否接受前端数据提交;
if (isset($_POST[‘submit’])) {

//empty 判断变量是否为空;
if (!empty($user)) {
            if (!preg_match(“/^[a-zA-Z0-9_]{3,16}$/”, $user)) {
                $usernull = “用户名格式不正确!”;
            } else if (!empty($pwd)) {
                if (!preg_match(“/^[a-zA-Z0-9_]{3,16}$/”, $pwd)) {
                    $pwdnull = “密码格式有问题!”;
                } else if (!empty($qrpwd)) {
                    if (!($pwd == $qrpwd)) {
                        $qrpwdnull = “两次密码不一致!”;
                    } else if (!empty($phone)) {
                        if (!preg_match(“/^1[0-9]{2,3}[-]?\d{7,8}$/”, $phone)) {
                            $phonenull = “手机号有问题!”;
                        }
                    } else {
                        $phonenull = “请输入11位手机号”;
                    }
                } else {
                    $qrpwdnull = “确认密码不能为空”;
                }
            } else {
                $pwdnull = “密码不能为空”;
            }
        } else {
            $usernull = “用户名不能为空”;
        }
    }
    function a($abc)
    {
        $abc = trim($abc);
        $abc = stripcslashes($abc);
        $abc = htmlspecialchars($abc);
        return $abc;
    }
    ?>
2.3 以上代码解释;

    $user = a($_POST[‘user’]);
    $pwd = a($_POST[‘pwd’]);
    $qrpwd = a($_POST[‘qrpwd’]);
    $fhone = a($_POST[‘fhone’]);
这段代码主要从 $_POST 超全局数组中获取用户通过表单提交的数据,
然后调用函数 a 对这些数据进行处理,
最后将处理后的数据分别赋值给变量 $user、$pwd、$qrpwd 和 $phone。

 
$usernull = $pwdnull = $qrpwdnull = $phonenull = "";

这行 PHP 代码 $usernull = $pwdnull = $qrpwdnull = $phonenull = "";

是在同时初始化多个变量,并将它们的值都设置为空字符串。

然后在php逻辑代码里变量赋值自己想要的值,则可输出想要的前端页面提升;

PHP前端链接mysql数据库教程(二)




并且,我们还得在前端代码里添加一些php代码,如图下所示:

1. <form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']) ?>"
 method="post" autocomplete="on">

此代码是 HTML 表单标签 <form>,用于创建一个 HTML 表单,使用户能够向服务器提交数据。
该表单会把数据以 POST 方法发送到当前页面。




2. <span style="color: red; font-size: 15px;"><?php echo 你对应的变量名; ?></span>

输出上图你变量赋的值,让它输出在你的前端页面你想显示的位置,小白跟着写就好了;

PHP前端链接mysql数据库教程(二)




                            $usersql = “select username from user where username = ‘$user'”;
                            $sqllj = mysqli_query($conn, $usersql);
                            $userarr = mysqli_fetch_row($sqllj);
                            这行代码是mysql的内容,$usersql 意思是查找名为username的字段,
                            来自user表,并判断username等于前端接收的$user变量数据;
                            $sqllj 意思是连接数据库并执行;$userarr 意思是将数据库里的所有字段转化为数组形式;

       function a($abc){
            $abc = trim($abc);
            $abc = stripcslashes($abc);
            $abc = htmlspecialchars($abc);
            return $abc;
       }

       这是一个函数; 
       该函数接收一个字符串参数 $abc,并对其执行以下三步处理: 
       去除首尾空白字符:使用 trim() 函数去除字符串开头和结尾的空白字符,
       像空格、制表符、换行符等。 去除反斜杠转义字符:
       运用 stripcslashes() 函数去除字符串中的反斜杠转义字符,例如将 \' 还原为 '。
       转换特殊字符为 HTML 实体:利用 htmlspecialchars() 函数把字符串里的
       特殊字符(如 <、>、& 等)转换为对应的 HTML 实体(如 &lt;、&gt;、&amp;),
       避免在 HTML 页面中出现解析错误或引发 XSS 攻击;

三,PHP及MySQL所有代码配置

3.1 我们回到PHP前端链接mysql数据库教程(一)的第三步的3.1步骤,
在D:\phpstudy_pro\WWW文件创建三个文件名:
1,database.php  ---  用于接收连接MySQL;(将MySQL连接源代码写在一个文件里,方便所有文件代码引用)
2,dl.php  ---  前端登录的PHP页面;(测试我们注册的账号及密码是否成功)
3,grzx.php  ---  前端个人中心展示PHP页面(学习升级将我们注册的账号密码进行一个修改)

PHP前端链接mysql数据库教程(二)

3.2 三个文件建好之后,我们分别复制对应的代码至对应的文件;代码如下:
3.2.1 复制以下代码至 database.php ;

<?php
$conn = mysqli_connect("127.0.0.1","root","777777") or die("数据库链接失败!");
$select = mysqli_select_db($conn,"login");
mysqli_query($conn,"set name 'utf8'");
?>


3.2.2 复制以下代码至 dl.php ;

<!DOCTYPE html>
<html lang=”en”>

<head>
<meta charset=”UTF-8″>
<meta name=”viewport” content=”width=device-width, initial-scale=1.0″>
<link rel=”stylesheet” href=”login.css”>
<link rel=”icon” href=”/img/icon.png”>
<title>登录</title>

<?php

include(“database.php”);

$user = a($_POST[‘user’]);
$pwd = a($_POST[‘pwd’]);
$phone = a($_POST[‘phone’]);

$sql = “select password from user where username = ‘$user'”;
$sqllj = mysqli_query($conn, $sql);
$sqlarr = mysqli_fetch_row($sqllj);
if (!empty($sqlarr) && $sqlarr[0] == $pwd) {
echo “<script>alert(‘登录成功’); window.location.href = ‘grzx.php?username=$user'</script>”;
} else if($sqlarr[0] != $pwd) {
echo “<script>alert(‘账号或密码错误!’);</script>”;
}

function a($abc){
$abc = trim($abc);
$abc = stripcslashes($abc);
$abc = htmlspecialchars($abc);
return $abc;
}
?>

</head>

<style>

</style>

<body>
<div class=”login”>
<h1>登录</h1>
<form action=”<?php echo htmlspecialchars($_SERVER[‘PHP_SELF’]) ?>” method=”post” autocomplete=”on”>
<table>
<tr>
<td>
<input type=”text” name=”user” placeholder=”用户名” value=”<?php echo $user; ?>”>
<span style=”color: red; font-size: 15px;”>
</td>

</tr>
<tr>
<td>
<input type=”password” name=”pwd” placeholder=”密码” value=”<?php echo $pwd; ?>”>
<span style=”color: red; font-size: 15px;”>
</td>

</tr>

<tr>
<td><input type=”submit” name=”submit” class=”zhuce” value=”登录”></td>
</tr>
</table>
<h5>没有账号?<a href=”login.php”>注册</a></h5>
</form>
</div>
</body>

</html>

PHP前端链接mysql数据库教程(二)

 

3.2.3 复制以下代码至 grzx.php ;

 

<!DOCTYPE html>
<html lang=”en”>

<head>
<meta charset=”UTF-8″>
<meta name=”viewport” content=”width=device-width, initial-scale=1.0″>
<link rel=”stylesheet” href=”login.css”>
<title>Document</title>

 

 

<?php
include(“database.php”);
$username = a($_GET[‘username’]);
$sql = “select * from user where username = ‘$username'”;
$sqllj = mysqli_query($conn, $sql);
$sqlarr = mysqli_fetch_row($sqllj);

if (isset($_POST[‘submit’])) {
$pwd = a($_POST[‘pwd’]);
$phone = a($_POST[‘phone’]);
$updatesql = “UPDATE user SET password = ‘$pwd’, phone = ‘$phone’where username = ‘$username'”;
$sqllj = mysqli_query($conn, $updatesql);
}

function a($abc)
{
$abc = trim($abc);
$abc = stripcslashes($abc);
$abc = htmlspecialchars($abc);
return $abc;
}
?>

</head>

<body>
<div class=”login”>
<h1>个人中心</h1>
<form action=”#” method=”post” autocomplete=”on”>
<table>
<tr>
<td>
<h2> 欢迎<?php echo $username; ?>用户</h2>
</td>

<tr>
<td>
<h3>您的手机是:<?php echo $sqlarr[3]; ?></h3>
</td>
</tr>

<tr>
<td>
<h3>您的原密码是:<?php echo $sqlarr[2]; ?></h3>
</td>
</tr>
</tr>

<tr>
<td>
修改密码:<input type=”password” name=”pwd” placeholder=”确认密码”>
</td>
</tr>
<tr>
<td>
修改手机:<input type=”text” name=”phone” placeholder=”手机号”>
</td>
</tr>
<tr>
<td><input type=”submit” name=”submit” class=”zhuce” value=”修改”></td>
</tr>
</table>
<h5><a href=”dl.php”>退出账号</a></h5>
</form>
</div>
</body>

</html>

 

PHP前端链接mysql数据库教程(二)

 

ok,今天就到此为止了,明天就正式进入MySQL连接PHP的教学,谢谢支持!

2025.4.19

PHP前端链接mysql数据库教程(三)
一,引言 今天我们就正式学习PHP与MySQL的连接了, 在开始前我们得先写一个MySQL的连接语句, 具体如下: 将代码复制到da...

 

@7sirCN论坛

 

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (1)

7sirCN论坛网 PHP编程 PHP前端链接mysql数据库教程(二) https://www.7sir.cn/454.html

相关文章

发表评论
暂无评论
  • 0 +

    访问总数

  • 0 +

    会员总数

  • 0 +

    文章总数

  • 0 +

    今日发布

  • 0 +

    本周发布

  • 0 +

    运行天数

7sirCN论坛,期待您的加入!