PHP 表单

PHP 超全局变量 $_GET 和 $_POST 用于收集表单数据(form-data) .

实例

下面的实例包含了一个 HTML 表单,带有两个输入框和一个提交按钮。

form.html 文件代码:

<html>

<head>

<meta charset="utf-8">

<title>form 表单应用 </title>

</head>

<body>

<form action="welcome.php" method="post">

名字: <input type="text" name="fname">

年龄: <input type="text" name="age">

<input type="submit" value="提交">

</form>

</body>

</html>

当用户填写完上面的表单并点击提交按钮时,表单的数据会被发送到 "welcome.php" 的 PHP 文件:

welcome.php 文件代码:

欢迎

<?php

echo $_POST["fname"];

?>

<br>

你的年龄是

<?php

echo $_POST["age"];

?>

岁。

PHP 获取下拉菜单的数据

PHP 下拉菜单单选

表单使用 GET 方式获取数据,action 属性值为空表示提交到当前脚本,通过 select 的 name 属性获取下拉菜单的值:

php_form_select.php 文件代码:

<?php

$q = isset($_GET['q'])? htmlspecialchars($_GET['q']) : '';

if($q) { if($q =='PHP985') {

echo 'PHP985<br>http://PHP985.com';

} else if($q =='GOOGLE') {

echo 'Google 搜索<br>http://www.google.com';

} else if($q =='TAOBAO') {

echo '淘宝<br>http://www.taobao.com';

}

} else {

?>

<form action="" method="get">

<select name="q">

<option value="">选择一个站点:</option>

<option value="PHP985">PHP985</option>

<option value="GOOGLE">Google</option>

<option value="TAOBAO">Taobao</option>

</select>

<input type="submit" value="提交">

</form>

<?php } ?>

PHP 下拉菜单多选

如果下拉菜单是多选的( multiple="multiple"),可以通过设置 select name="q[]" 以数组的方式获取,以下使用 POST 方式提交,代码如下所示:

php_form_select_mul.php 文件代码:

<?php

$q = isset($_POST['q'])? $_POST['q'] : '';

if(is_array($q)) {

$sites = array( 'PHP985' => 'PHP985工程: http://php985.com', 'GOOGLE' => 'Google 搜索: http://www.google.com', 'TAOBAO' => '淘宝: http://www.taobao.com', );

foreach($q as $val) {

// PHP_EOL 为常量,用于换行

echo $sites[$val] . PHP_EOL;

} } else {

?>

<form action="" method="post">

<select multiple="multiple" name="q[]">

<option value="">选择一个站点:</option>

<option value="PHP985 ">PHP985</option>

<option value="GOOGLE">Google</option>

<option value="TAOBAO">Taobao</option>

</select>

<input type="submit" value="提交">

</form>

<?php } ?>

单选按钮表单

PHP 单选按钮表单中 name 属性的值是一致的,value 值是不同的,代码如下所示:

php_form_radio.php 文件代码:

<?php

$q = isset($_GET['q'])? htmlspecialchars($_GET['q']) : '';

if($q) { if($q =='PHP985') {

echo 'PHP985<br>http://PHP985.com';

} else if($q =='GOOGLE') {

echo 'Google 搜索<br>http://www.google.com';

} else if($q =='TAOBAO') {

echo '淘宝<br>http://www.taobao.com';

} } else {

?>

<form action="" method="get">

<input type="radio" name="q" value="RUNOOB" />Runoob

<input type="radio" name="q" value="GOOGLE" />Google

<input type="radio" name="q" value="TAOBAO" />Taobao

<input type="submit" value="提交">

</form>

<?php } ?>

checkbox 复选框

PHP checkbox 复选框可以选择多个值:

php_form_select_checkbox.php 文件代码:

<?php $q = isset($_POST['q'])? $_POST['q'] : '';

if(is_array($q)) {

$sites = array( 'PHP985' => 'PHP985: http://php985.com', 'GOOGLE' => 'Google 搜索: http://www.google.com', 'TAOBAO' => '淘宝: http://www.taobao.com', );

foreach($q as $val) {

// PHP_EOL 为常量,用于换行

echo $sites[$val] . PHP_EOL;

} } else {

?>

<form action="" method="post">

<input type="checkbox" name="q[]" value="PHP985"> PHP985<br>

<input type="checkbox" name="q[]" value="GOOGLE"> Google<br>

<input type="checkbox" name="q[]" value="TAOBAO"> Taobao<br>

<input type="submit" value="提交">

</form>

<?php } ?>