PHP 表單和使用者輸入操作
阿新 • • 發佈:2018-11-15
PHP 中的 $_GET 和 $_POST 變數用於檢索表單中的資訊,比如使用者輸入。 PHP 表單處理:有一點很重要的事情值得注意,當處理 HTML 表單時,PHP 能把來自 HTML 頁面中的表單元素自動變成可供 PHP 指令碼使用。 <html> <head> <meta charset="utf-8"> <title>form</title> </head> <body> <form action="Answer.php" method="post"> 名字: <input type="text" name="fname"> 年齡: <input type="text" name="age"> <input type="submit" value="提交"> </form> </body> </html> Answer.php 歡迎<?php echo $_POST["fname"]; ?>!<br> 你的年齡是 <?php echo $_POST["age"]; ?> 歲。 PHP 獲取下拉選單的資料 <?php $q = isset($_GET['q'])? htmlspecialchars($_GET['q']) : ''; if($q) { if($q =='0') { echo '榮耀9i'; } else if($q =='1') { echo '榮耀v10'; } else if($q =='2') { echo '榮耀8x'; } } else { ?> <form action="" method="get"> <select name="q"> <option value="">下拉請選擇:</option> <option value="0">榮耀9i</option> <option value="1">榮耀v10</option> <option value="2">榮耀8x</option> </select> <input type="submit" value="提交"> </form> <?php } ?> PHP單選按鈕表單 <?php $q = isset($_GET['q'])? htmlspecialchars($_GET['q']) : ''; if($q) { if($q =='0') { echo '足球'; } else if($q =='1') { echo '羽毛球'; } else if($q =='2') { echo '籃球'; } } else { ?> <form action="" method="get"> <input type="radio" name="q" value="0"/>足球 <input type="radio" name="q" value="1"/>羽毛球 <input type="radio" name="q" value="2"/>籃球 <input type="submit" value="提交"> </form> <?php } ?> PHP checkbox 複選框可以選擇多個值: <?php $q = isset($_POST['q'])? $_POST['q'] : ''; if(is_array($q)) { $sites = array( '0' => '好時之吻', '1' => '大白兔', '2' => '德芙' ); foreach($q as $val) { echo $sites[$val].'<br/>'; } } else { ?><form action="" method="post"> <input type="checkbox" name="q[]" value="0">好時之吻<br> <input type="checkbox" name="q[]" value="1">大白兔<br> <input type="checkbox" name="q[]" value="2">德芙<br> <input type="submit" value="提交"> </form> <?php } ?> _GET、$_POST 和 $_REQUEST 的區別? $_GET 變數接受所有以 get 方式傳送的請求,及瀏覽器位址列中的 ? 之後的內容。 $_POST 變數接受所有以 post 方式傳送的請求,例如,一個 form 以 method=post 提交,提交後 php 會處理 post 過來的全部變數。 $_REQUEST 支援兩種方式傳送過來的請求,即 post 和 get 它都可以接受,顯示不顯示要看傳遞方法,get 會顯示在 url 中(有字元數限制),post 不會在 url 中顯示,可以傳遞任意多的資料(只要伺服器支援)。