2013-01-05 37 views
0

我知道我的代碼不好,不安全,但是我只想在開始進行更改之前完成所有工作。如何管理if - else here ..

所以我正在做一個基本的小商店,我希望它檢查用戶是否有合適的金額,如果他有,減去物品的金額並給他物品,如果他沒有合適的金額,我希望它不要減去任何東西,不要給他這件物品,並回應說他買不起這件物品。我試圖做到沒有成功,所以我刪除了大部分代碼,並希望在這裏獲得一些幫助。

這是我仍然有。 如果我拿出if語句,它會減去錢並添加項目,但是我需要對它進行限制。我是很新的這一切,所以任何幫助表示讚賞:)

$sql23 = "SELECT * FROM users WHERE username='".$_SESSION['username']."')"; 
$result = mysql_query("SELECT * FROM users WHERE username='".$_SESSION['username']."'"); 
while($row = mysql_fetch_array($result)){ 

    echo $row['money']; 
    if (isset($_POST['pokeball'])) { 
     if ($row['money'] >= 2000) { 
      echo "You have bought a pokeball!" ; 
      mysql_query("UPDATE users SET money=money-2000 WHERE username = '".$_SESSION['username']."'") 
      or die(mysql_error()); 

      mysql_query("UPDATE users SET pokeball=pokeball+1 WHERE username = '".$_SESSION['username']."'") 
      or die(mysql_error()); 
     } else { 
      echo "You can't afford a pokeball!"; 

     } 


    } 

} 

回答

3

正如你指出你的代碼是不是很大,但在回答你的問題的實際/問題。 由於整個事情取決於一個if語句,所有假設發生的事情都應該在if語句中。

$sql23 = "SELECT * FROM users WHERE username='".$_SESSION['username']."')"; 
$result = mysql_query("SELECT * FROM users WHERE username='".$_SESSION['username']."'"); 
while($row = mysql_fetch_array($result)){ 

echo $row['money']; 
if (isset($_POST['pokeball'])) { 
    if ($row['money'] >= 2000) { 
     echo "You have bought a pokeball!" ; 
     mysql_query("UPDATE users SET money=money-2000 WHERE username = '".$_SESSION['username']."'") 
      or die(mysql_error()); 

     mysql_query("UPDATE users SET pokeball=pokeball+1 WHERE username = '".$_SESSION['username']."'") 
      or die(mysql_error()); 
    } else { 
     echo "You can't afford a pokeball!"; 

} 
} 

}

還要注意的mysql_query折舊,應mysqli_query更換: http://php.net/manual/en/mysqli.query.php

+0

感謝您的幫助,它幾乎工作XD我想我有if語句錯誤的它的檢查,看看你是否有適當的錢,因爲它總是回來,因爲它負擔不起:/ – Sakai

+0

抱歉打擾你更多,但是,我仍然無法得到它的工作我編輯我的原始帖子與什麼即時消息現在使用,並且它總是說我不能支付pokeball,不管我有多少錢,我使它回聲$ row ['money'] – Sakai

+0

當我回應它時,它給了我11514,這就是金額我有我的用戶在數據庫中。 – Sakai

1
<?php 
$playermoney = mysql_query("SELECT * FROM users WHERE username = '".$_SESSION['username']."'") or die(mysql_error()); 

if (isset($_POST['pokeball'])) { 
    if ($row['money'] >= 2000) { 
     echo "You have bought a pokeball!" ; 
     mysql_query("UPDATE users SET money=money-2000,pokeball=pokeball+1 WHERE username = '".$_SESSION['username']."'") 
      or die(mysql_error()); 

    } else { 
     echo "You can't afford a pokeball!"; 
} 
?> 
+0

爲什麼這個工作。不要喂幫助吸血鬼。 –

+3

$ playermoney =「SELECT * FROM users WHERE username ='」。$ _ SESSION ['username']。「'」;缺少mysql_query函數 – Mark