1. 程式人生 > >PHP 表單和使用者輸入操作

PHP 表單和使用者輸入操作

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 中顯示,可以傳遞任意多的資料(只要伺服器支援)。