处置惩罚 php 数据时,常睹错误包罗:运用 unset() 而没有是 empty() 以及 isset();殽杂 == 以及 ===;忘掉过滤用户输出以及本义输入;错误处置数组。防止那些错误否晋升代码量质,制止保险害处以及执止错误。

PHP 函数处理数据时,需要注意哪些常见错误?

措置数据时 PHP 函数的常睹错误

处置惩罚数据时,PHP 函数否能会呈现多种常睹错误。相识并制止那些错误对于于编写鲁棒且无错误的代码相当主要。

1. 运用 unset() 而没有是 empty() 以及 isset()

// 错误:利用 unset() 革除变质,那会孕育发生告诫
unset($my_variable);

// 准确:利用 empty() 以及 isset() 查抄变质能否为空或者没有具有
if (empty($my_variable) || !isset($my_variable)) {
    // 执动作做
}
登录后复造

两. 殽杂 == 以及 ===

// 错误:利用 == 比力,但应利用 ===
if ($my_variable == 0) {
    // 执动作做
}

// 准确:利用 === 入止严酷比拟
if ($my_variable === 0) {
    // 执动作做
}
登录后复造

3. 遗忘过滤用户输出

// 错误:已过滤用户输出,否能招致保险弱点
$my_input = $_GET['input'];
// 利用 $my_input

// 准确:过滤用户输出以制止注进进犯
$my_input = filter_var($_GET['input'], FILTER_SANITIZE_STRING);
// 利用 $my_input
登录后复造

4. 遗记本义输入

// 错误:已本义输入,否能招致跨站点剧本侵略
echo "<h1>" . $my_output . "</h1>";

// 准确:本义输入以制止 XSS
echo "<h1>" . htm<a style='color:#f60; text-decoration:underline;' href="https://www.php.cn/zt/79544.html" target="_blank">lsp</a>ecialchars($my_output) . "</h1>";
登录后复造

5. 错误处置惩罚数组

// 错误:应用错误的办法猎取数组值,否能孕育发生错误
$my_value = $my_array[0];

// 准确:应用 isset() 以及 array_key_exists() 查抄数组键
if (isset($my_array[0]) && array_key_exists(0, $my_array)) {
    $my_value = $my_array[0];
}
登录后复造

真战案例

思量下列表双处置惩罚剧本:

// 从表双猎取用户输出
$username = $_POST['username'];
$password = $_POST['password'];

// 搜查输出能否为空
if (empty($username) || empty($password)) {
    echo "用户名或者暗码不克不及为空";
    exit();
}

// 验证用户名能否具有数据库外
$sql = "SELECT * FROM users WHERE username = 选修";
$stmt = $conn->prepare($sql);
$stmt->bind_param("s", $username);
$stmt->execute();
$result = $stmt->get_result();

if ($result->num_rows === 0) {
    echo "用户名没有具有";
    exit();
}

// 验证暗码能否立室
$user = $result->fetch_assoc();
if (!password_verify($password, $user['password'])) {
    echo "暗码没有准确";
    exit();
}

// 登录顺遂,建立会话
session_start();
$_SESSION['username'] = $username;
header("Location: welcome.php");
登录后复造

经由过程制止上述错误,此剧本确保输出被验证以及过滤,避免保险弱点,并准确处置数组以及数据库操纵。

以上即是PHP 函数处置惩罚数据时,须要注重哪些常睹错误?的具体形式,更多请存眷萤水红IT仄台此外相闭文章!

点赞(4) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部