0

我知道我的代码很糟糕而且不安全,但我只是希望它在我开始进行更改之前能够整体工作。

所以我正在做一个基本的商店,我想让它检查用户是否有正确的金额,如果有,减去物品成本的金额并给他物品,如果他有没有合适的数量,我希望它不要减去任何东西,不要给他物品,并回应他买不起该物品。我试图这样做没有成功,所以我删除了大部分代码,并希望在这里得到一点帮助。

这是我仍然拥有的。如果我取出 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!";

       }


    }

}
4

2 回答 2

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

于 2013-01-05T02:49:24.603 回答
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!";
}
?>
于 2013-01-05T02:53:15.117 回答