我对网络编程非常陌生,我学到的一切基本上都是通过在线查找文档来学习的。我有一个网站运行一种带有库存等的游戏。我似乎想不出一种将物品提供给用户的干净方式。它目前使用 JavaScript 函数,但我意识到用户可以从 URL 栏中调用该函数并利用系统。
在给定的页面上,这是要求提供项目的代码。用户将单击“获取帽子”按钮之类的按钮,并将被重定向到另一个页面:
<script>
function giveitem(name, quant)
{
document.getElementById("itemnamefield").value=name;
document.getElementById("itemquantfield").value=quant;
document.itemform.submit();
}
</script>
<form id="itemform" name="itemform" action="./itemget.php" method="post">
<input type="hidden" id="itemnamefield" name="itemnamefield" value="">
<input type="hidden" id="itemquantfield" name="itemquantfield" value="">
</form>
<input type="button" onClick="javscript: giveitem('Hat',1);" value="Get Hat"><br>
itemget.php 然后使用前一页的发布数据执行此函数。$id 是存储在 cookie 中的用户 ID 号,$name 是商品的标题,$quant 是所需的商品数量。
function additem($id, $name, $quant){
include 'sqlconnect.php';
$result = mysqli_query($con, "SELECT * FROM inventory WHERE id='$id' AND name='$name'");
if ($row = mysqli_fetch_array($result)){
mysqli_query($con, "UPDATE inventory SET quant=quant+'$quant' WHERE id='$id' AND name='$name'");
}
else{
$subresult = mysqli_query($con, "SELECT name FROM itemdef WHERE name='$name'");
$subrow = mysqli_fetch_array($subresult);
mysqli_query($con,"INSERT INTO inventory (id, quant, name) VALUES ('$id', '$quant', '$subrow[name]')");
}
}
itemget.php 然后显示用户收到的物品。所以我不能使用javascript,因为这是可以利用的。除了标准的 HTML 和 PHP 之外,我并没有真正打算使用 jquery 或其他任何东西(我试图保持简单,因为我缺乏经验)。为每个“给 x 项”按钮创建一个新表单是我唯一的选择吗?