阿摩線上測驗 登入

申論題資訊

試卷:101年 - 101年高等三級暨普通考普通_資訊處理#29393
科目:程式設計
年份:101年
排序:0

申論題內容

四、使 用 PHP 設計一個伺服器端的網頁,當使用者以瀏覽器開啟 http://localhost/radiobutton.html,網頁將顯示“請選擇遞送方式:”,並以兩個選項按 鈕(radio button),顯示“宅配”與“超商取貨”這兩種選項,最後並提供一個“提交” (submit)的按鈕,讓使用者提交其選取之結果給伺服器。當伺服器接收到網頁送回 之選項資料後,會執行同一個資料夾內的radiobutton.php,並將使用者選取的遞送方 式,加上前置詞“您選取的遞送方式是”後,在使用者的瀏覽器顯示出來。下列是 radiobutton.html與radiobutton.php的不完整程式碼,請填入完整的程式碼。(25 分) //radiobutton.html PHP with radio buttons // 使用
元素以提供 2 種遞送方式的選項按鈕給使用者 //radiobutton.php PHP with radio buttons /* 填入必要的指令,將使用者選取的遞送方式,加上前置詞“您選取的遞送方 式是”後,在使用者的瀏覽器顯示出來。 */

詳解 (共 1 筆)

詳解 提供者:hchungw
為了完成這個任務,我們需要創建兩個文件:一個是 HTML 文件,名為 radiobutton.html,用於向使用者展示兩個選項按鈕和一個提交按鈕;另一個是 PHP 文件,名為 radiobutton.php,用於處理提交的表單數據並向使用者展示所選的遞送方式。
radiobutton.html
html
Copy code
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>遞送方式選擇</title>
</head>
<body>
    <form action="radiobutton.php" method="post">
        <p>請選擇遞送方式:</p>
        <input type="radio" id="homeDelivery" name="deliveryMethod" value="家配">
        <label for="homeDelivery">家配</label><br>
        <input type="radio" id="storePickup" name="deliveryMethod" value="超商取貨">
        <label for="storePickup">超商取貨</label><br>
        <input type="submit" value="提交">
    </form>
</body>
</html>
radiobutton.php
php
Copy code
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // 確保有選項被選取
    if (isset($_POST['deliveryMethod'])) {
        $selectedMethod = $_POST['deliveryMethod'];
        echo "您選取的遞送方式是:" . htmlspecialchars($selectedMethod);
    } else {
        echo "您沒有選擇遞送方式。";
    }
} else {
    echo "請通過表單提交您的選擇。";
}
?>
在 radiobutton.html 中,我們創建了一個表單,包含兩個選項按鈕("家配" 和 "超商取貨"),並將表單的提交方式設置為 POST 方法,目標 URL 為 radiobutton.php。
在 radiobutton.php 中,我們首先檢查是否通過 POST 方法提交了數據。如果是,我們進一步檢查 deliveryMethod 是否被設置(即是否有選項被選擇)。如果有選擇遞送方式,我們將該選項的值賦給變量 $selectedMethod,並使用 htmlspecialchars 函數防止 XSS 攻擊,將選擇的遞送方式顯示給使用者。如果沒有選擇遞送方式,則顯示相應的提示信息。如果訪問 radiobutton.php 不是通過提交表單,則提示使用者通過表單提交。