0

我有这段代码,我的用户已经设置了所有的 cookie,但是它显示了没有设置所有的文本。任何人都可以解决这个问题吗?它显示的是第一个文本,而不是第二个,过去一个小时让我感到困惑。我错过了什么可笑的愚蠢吗?

if(!isset($_COOKIE['user']))
{
    echo "You do not have access here";
}

if(isset($_COOKIE['user']))
{
    $user = $_COOKIE['user'];

    $lq = "SELECT havelair FROM users WHERE username = '$user'";
    $lresult = mysqli_query($con,$lq);
    $lrow = mysqli_fetch_array($lresult);
    $lair = $lrow[0];

    if($lair == '1')
    {
        if(!isset($_COOKIE['Ankou']) || !isset($_COOKIE['Durnburg']) || !isset($_COOKIE['Hardash']) || !isset($_COOKIE['Kashaer']) || !isset($_COOKIE['Wyrdwood']))
        {
?>

text

<?php
        }

        if(isset($_COOKIE['Ankou']) && isset($_COOKIE['Durnburg']) && isset($_COOKIE['Hardash']) && isset($_COOKIE['Kashaer']) && isset($_COOKIE['Wyrdwood']))
        {
            mysqli_query($con,"UPDATE users SET havelair='2' WHERE username ='$user'");
?>

text

<?php

        }
    }
4

1 回答 1

0

print_r输出是:

Array ( [Ankou] => visit [Hardash] => visit [Wyrdwood] => visit [Durnberg] => visit [Kashaer] => visit )

而且,在您的代码中,您有:

!isset($_COOKIE['Durnburg'])

注意拼写的不同。这可能是问题所在。

此外,您的代码容易受到 SQL 注入的影响。看看这个问题,看看如何解决这个问题的陷阱和想法。

于 2013-07-30T18:47:55.773 回答