我想回顯複選框名稱,但是我無法回顯複選框的名稱,因爲如果複選框或單選按鈕已被選中,所有出現的都是'1'。PHP會話回聲複選框和單選按鈕
有誰知道我可以如何更改我的代碼,以便如果用戶選擇他們是素食主義者和花生過敏,「素食,花生過敏」顯示在我的網頁上,而不是數字「1」項目。
我還喜歡坐在貴賓區的費用被迴應爲「是」或「否」。
這裏是我我的預訂頁面上的複選框和單選按鈕的相關代碼:
<?php
session_start();
if (isset($_POST['submit'])) {
$_SESSION['vege'] = isset($_POST['vege']);
}
if (isset($_POST['submit'])) {
$_SESSION['vegan'] = isset($_POST['vegan']);
}
if (isset($_POST['submit'])) {
$_SESSION['peanut'] = isset($_POST['peanut']);
}
if (isset($_POST['submit'])) {
$_SESSION['gluten'] = isset($_POST['gluten']);
}
if (isset($_POST['submit'])) {
$_SESSION['vip'] = isset($_POST['vip']);
}
?>
...
<strong>Dietary Requirements:</strong>
Vegetarian <input type="checkbox" name="vege" value="Vegetarian" <?php if(isset($_POST['vege'])) echo "checked='checked'"; ?>>
Vegan <input type="checkbox" name="vegan" value="Vegan" <?php if(isset($_POST['vegan'])) echo "checked='checked'"; ?>>
Peanut Allergy <input type="checkbox" name="peanut" value="Peanut Allergy" <?php if(isset($_POST['peanut'])) echo "checked='checked'"; ?>>
Gluten Allergy <input type="checkbox" name="gluten" value="Gluten Allergy" <?php if(isset($_POST['gluten'])) echo "checked='checked'"; ?>>
<strong> VIP area* : </strong> <br><br>
Yes (+£5) <input type="radio" name="vip" <?php if (isset($vip) && $vip=="Yes") echo "checked";?> value="Yes">
<br><span id="vip" class="error"><?php echo $vipErr;?></span><br>
No <input type="radio" name="vip" <?php if (isset($vip) && $vip=="No") echo "checked";?> value="No">
這是我目前使用PHP其回聲「1」的時候,用戶對我的感謝選擇你的頁面:
<b>Dietary Requirements: </b><?php echo $_SESSION['vege'];?><?php echo $_SESSION['vegan'];?><?php echo $_SESSION['peanut'];?><?php echo $_SESSION['gluten'];?>
<b>VIP Area Costs: </b>£<?php echo $_SESSION['vip'];?>
此工作正常,但是,如果我點擊提交沒有選中複選框,然後我的表單驗證後,我的屏幕上出現錯誤,因爲沒有選擇。有沒有辦法繞過這個?感謝您的建議,無論 – Oscar 2014-11-20 17:26:24
請發佈錯誤!此外,HTML表格會很好; D – Rizier123 2014-11-20 17:27:14
@JamesPatterson在回聲之前檢查會話索引是否已設置! – Rizier123 2014-11-20 17:31:34