私は Web プログラミングに非常に慣れていないため、基本的にはオンラインでドキュメントを検索することから学びます。私は、インベントリなどを含むゲームの種類を実行している Web サイトを持っています。ユーザーにアイテムを渡すきれいな方法が思い浮かびません。現在は JavaScript 関数を使用していますが、ユーザーは URL バーから関数を呼び出すだけでシステムを悪用できることに気付きました。
特定のページで、これは特定のアイテムを呼び出すコードです。ユーザーが「Get Hat」ボタンなどのボタンをクリックすると、別のページにリダイレクトされます。
<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は使用できません。私は jquery や、標準の HTML と PHP 以外のものを使用するつもりはありません (私は経験が浅いので、単純にしようとしています)。「xアイテムを与える」ボタンごとに新しいフォームを作成する唯一の方法はありますか?