基本的に、アイテム ページで何も選択されていない場合、エラーが表示されるか、ユーザーが別のページに戻されるという最後の検証を追加したいと考えています。
送信が選択されると、フォームアクションはそれを確認ページに送信し、以下が実行され、1 つ以上が入力されている場合に選択されたアイテムが表示されます if ($partno == $varname & $qty > 0) but I don't no what toエラーを返すか、ユーザーを前のページに戻すには、else 部分を挿入します。
<?php
$visitor = $_POST['visitor'];
echo "<p>" . 'Hello ' . "<b>" . $visitor . "</b> " . 'please confirm your purchase(s) below.' . "</p>";
if (!($data = file('items.txt'))) {
echo 'ERROR: Failed to open file! </body></html>';
exit;
}
$total = 0;
foreach ($_POST as $varname => $varvalue) {
$qty = $varvalue;
foreach ($data as $thedata) {
list($partno, $name, $description, $price, $image) = explode('|', $thedata);
if ($partno == $varname & $qty > 0) {
echo "<tr><td><img src='$image' width='50' height='50' alt='image'</td>
<td>$partno<input type='hidden' name='$partno' value=$partno></td><td>$name</td><td>£$price</td>
<td> $qty</td><td><input type='hidden' name='visitor' value=$visitor></td>
<td><input type='hidden' name='qty' value=$qty></td></tr>";
$total = $total + $price * $qty;
} else {
}
}
}
?>