各行の最後にボタンを付けてテーブルに10行を動的に作成しています。これらの行はすべてフォームに含まれています。私はここに必要なものクリックされた動的に生成されたボタンの特定
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<table>
<tr>
<td>ID</td>
<td>Name</td>
<td>VAT(%)</td>
<td>Price exl VAT</td>
<td>Amount</td>
</tr>
<?php
foreach ($json as $row)
{
$code = $row['code'];
echo "<tr>";
?>
<td><input type="text" name="code" value="<?php echo $code?>" readonly title=""></td>
<?php
echo "<td>" . $row['name'] . "</td>";
echo "<td>" . $row['vat'] . "</td>";
echo "<td>" . $row['price'] . "</td>";
echo "<td>" . "<input type='number' name='amount' value='0'>" . "</td>";
?>
<td><input type="submit" name="<?php $row['code'] ?>" value="Add To Cart"></td>
<?php
echo "</tr>";
}
echo "</table>";
echo "</form>";
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
var_dump($_POST);
$rest_json = file_get_contents("php://input");
var_dump($rest_json);
}
があったボタンを識別するためにいくつかの方法である:私はarray(0) { }
を返す$_POST
ボタンを押すと内容がphp://input
から集まったときにこれは、関連するすべてのコードです
string(239) "code=J7410&amount=0&code=abc123&amount=0&code=42139&amount=0&code=BBTCG&amount=0&code=13064&amount=0&code=D40717&amount=0&code=D11255&amount=0&code=D40617&amount=0&code=D68691&amount=0&code=11-600.50.04&amount=0&code=9789170378041&amount=0"
ですクリックしたIDを介して、またはこの問題を解決する固有の識別子をボタンに動的に与える方法があるかどうか。
$json
は$rest_json
と同様にファイルから読み込まれ、完全に正常に動作します。
私は昨日PHPを使い始めましたので、助けとなる提案や意見は大歓迎です。
一意のIDを各ボタンに与えることから?各ループの整数変数をインクリメントし、 'id =" <?echo $ number;?> "'またはそれに類するものを追加するだけです。 – icecub
私はそれを試みましたが、私の問題は解決しませんでした。私は、php:// inputが各ボタンが結合して送るすべてのデータを含む文字列を回復するので、どのボタンがクリックされたのかわからないというコードで問題があると仮定しました。 – Nethakaaru