2013-07-30 61 views
0

我有這段代碼,而且我的用戶有所有的cookie設置,但它顯示的文本沒有全部設置。誰能解決這個問題嗎?它顯示的是第一個文本,而不是第二個文本,在過去的一個小時裏它讓我感到困惑。我錯過了一些可笑的愚蠢?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 

     } 
    } 
+0

它們存在嗎? 'print_r($ _ COOKIE)'的輸出是什麼? –

+0

Array([Ankou] =>訪問[Hardash] =>訪問[Wyrdwood] =>訪問[Durnberg] =>訪問[Kashaer] =>訪問) – Bob

+2

可愛的[SQL注入攻擊](http:// bobby-tables。 com)漏洞...享受你的服務器pwn3d。 –

回答

0

print_r輸出是:

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

而且,在你的代碼,您有:

!isset($_COOKIE['Durnburg']) 

請注意,在拼寫的差異。這可能是問題。

此外,您的代碼易受SQL注入攻擊。看看這question看看如何解決問題的陷阱和想法。

+0

是的。這是問題。我完全忽略了這一點,現在我覺得自己像個白癡。 -.- – Bob