美文网首页
php表单和用户输入(二)

php表单和用户输入(二)

作者: 烂笔头2020 | 来源:发表于2020-06-24 16:02 被阅读0次
PHP 下拉菜单单选

以下实例设置了下拉菜单三个选项,表单使用 GET 方式获取数据,action 属性值为空表示提交到当前脚本,我们可以通过 select 的 name 属性获取下拉菜单的值:(这里action为空值,表示到当前脚本)

<html>
<head>
<meta charset="utf-8">
<title>PHP 下拉菜单单选</title>
</head>
<body>
<?php
$q = isset($_GET['q'])? htmlspecialchars($_GET['q']): ''; //三元运算符?,isset()函数判断变量是否已设置或者为NULL
if($q) {
        if($q =='RUNOOB') {
                echo '菜鸟教程<br>http://www.runoob.com';
        } else if($q =='GOOGLE') {
                echo 'Google 搜索<br>http://www.google.com';
        } else if($q =='TAOBAO') {
                echo '淘宝<br>http://www.taobao.com';
        }
} 
else { //如果$q值不为上面三种情况就显示下拉菜单,这里中间嵌入html语句,需要先把上面的<?php先关闭
?> 

<form action="" method="get"> 
    <select name="q">
        <option value="">选择一个站点:</option>
        <option value="RUNOOB">Runoob</option>
        <option value="GOOGLE">Google</option>
        <option value="TAOBAO">Taobao</option>
    </select>
    <input type="submit" value="提交">
</form>

<?php //接上php脚本中else的闭括号
}
?>
 
</body>

</html>

对上面的进行修改一下,使用单选按钮:

<html>
<head>
<meta charset="utf-8">
<title>PHP 下拉菜单单选</title>
</head>
<body>
<?php
$q = isset($_GET['q'])? htmlspecialchars($_GET['q']) : '';
if($q) {
       if($q =='RUNOOB') {
               echo '菜鸟教程<br>http://www.runoob.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
}
?>

</body>

</html>
PHP 下拉菜单多选

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

<html>
<head>
<meta charset="utf-8">
<title>PHP 下拉菜单多选</title>
</head>
<body>
<?php
$q = isset($_POST['q'])? $_POST['q'] : '';
if(is_array($q)) {
    $sites = array(
            'RUNOOB' => '菜鸟教程: http://www.runoob.com',
            'GOOGLE' => 'Google 搜索: http://www.google.com',
            'TAOBAO' => '淘宝: http://www.taobao.com',
    );//如果$q为一个数组,则执行该代码:定义一个关联数组$sites,并且遍历数组$q,以数组$q的值为键,输出$sites的值$sites[$val]
    foreach($q as $val){ 
        echo $sites[$val] . "<br/>";
    }
}
else
{
?>
    <form action="" method="post"> 
    <select multiple="multiple" name="q[]">
    <option value="">选择一个站点:</option>
    <option value="RUNOOB">Runoob</option>
    <option value="GOOGLE">Google</option>
    <option value="TAOBAO">Taobao</option>
    </select>
    <input type="submit" value="提交">
    </form>
<?php
}
?>

</body>
</html>

在这里用在不同操作系统和浏览器中,选择多个选项的差异:
对于 windows:按住 Ctrl 按钮来选择多个选项
对于 Mac:按住 command 按钮来选择多个选项
由于上述差异的存在,同时由于需要告知用户可以使用多项选择,对用户更友好的方式是使用复选框。
下面把代码修改一下,使用复选框:

<html>
<head>
<meta charset="utf-8">
<title>PHP 下拉菜单多选</title>
</head>
<body>
<?php
$q = isset($_POST['q'])? $_POST['q'] : '';
if(is_array($q)) {
    $sites = array(
            'RUNOOB' => '菜鸟教程: http://www.runoob.com',
            'GOOGLE' => 'Google 搜索: http://www.google.com',
            'TAOBAO' => '淘宝: http://www.taobao.com',
    );//如果$q为一个数组,则执行该代码:定义一个关联数组$sites,并且遍历数组$q,以数组$q的值为键,输出$sites的值$sites[$val]
    foreach($q as $val){ 
        echo $sites[$val] . "<br/>";
    }
}
else
{
?>
    <form action="" method="post"> 
        <input type="checkbox" name="q[]" value="RUNOOB">菜鸟教程<br/>
        <input type="checkbox" name="q[]" value="GOOGLE">Google 搜索<br/>
        <input type="checkbox" name="q[]" value="TAOBAO">淘宝
        <input type="submit" value="提交">
    </form>
<?php
}
?>

</body>
</html>

知识积累:

这里想讲一下name属性和value属性的作用:
name属性规定了标签的元素名称,name属性用于在JavaScript中引用元素,或在表单提交后引用表单数据,只有设置了name属性的表单元素才能在提交表单时传递它们的值,<value>属性规定在表单被提交时发送到服务器的内容,如果没有规定,则默认为标签中的值.

相关文章

  • 从0到1学习网络安全 【PHP基础-PHP 表单】

    PHP 表单处理 PHP 中的 $_GET 和 $_POST 变量用于检索表单中的信息,比如用户输入。 PHP -...

  • php表单和用户输入(二)

    PHP 下拉菜单单选 以下实例设置了下拉菜单三个选项,表单使用 GET 方式获取数据,action 属性值为空表示...

  • 4.PHP-表单

    (1) PHP 表单处理 表单,即用户要操作的诸如输入框,选择按钮等界面。PHP 中的 $_GET 和 $_PO...

  • php表单处理(一):$_GET变量和$_POST变量

    PHP 中的 $_GET 和 $_POST 变量用于检索表单中的信息,比如用户输入。 PHP $_GET 变量 ...

  • HTML基础语法(下)

    表单(用户输入) 表单 标签。表单是给用户提供输入和操作的那些控件。 表单都是input标签,但是根据类型的不同,...

  • PHP过滤器-Filter

    Filter 1.用途 PHP 过滤器用于验证和过滤来自非安全来源的数据,比如用户的输入。 外部数据包含:表单输入...

  • HTML表单

    HTML使用表单向服务器提交请求,表单、表单控件的主要作用就是收集用户输入,当用户提交表单时,用户输入内容将被作为...

  • HTML学习笔记(四)

    一:HTML 表单 HTML 表单用于搜集不同类型的用户输入。 元素 HTML 表单用于收集用户输入。 HTML ...

  • HTML 表单

    HTML表单用于搜集不同类型的用户输入。

    元素 HTML表单用于搜集用户输入。 元素定义HTML表单 ...

  • 表单

    HTML 表单用于搜集不同类型的用户输入 元素HTML 表单用于收集用户输入 元素定义 HTML 表单: 实例 ...

网友评论

      本文标题:php表单和用户输入(二)

      本文链接:https://www.haomeiwen.com/subject/cjbrfktx.html