一、检索表单信息
  PHP 中的 $_GET 和 $_POST 变量用于检索表单中的信息,比如用户输入
  提交的表单:
    <form action="welcome.php" method="post">
      名字: <input type="text" name="fname">
      年龄: <input type="text" name="age">
      <input type="submit" value="提交">
    </form>
  检索表单信息:
    欢迎<?php echo $_POST["fname"]; ?>!<br>
    你的年龄是 <?php echo $_POST["age"]; ?> 岁

二、下拉菜单(单选)

    <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
      $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">
        <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脚本在if...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
      $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',
        );
        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="RUNOOB">Runoob</option>
            <option value="GOOGLE">Google</option>
            <option value="TAOBAO">Taobao</option>
          </select>
          <input type="submit" value="提交">
        </form>
    <?php
      }
    ?>

 六、单选按钮表单    

    <?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
      }
    ?>

 七、复选框   

    <?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',
        );
        foreach($q as $val) {
          // PHP_EOL 为常量,用于换行
          echo $sites[$val] . PHP_EOL;
        }

      } else {
     ?>

        <form action="" method="post">
          <input type="checkbox" name="q[]" value="RUNOOB"> Runoob<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
      }
     ?>

 八、表单验证   

    <?php
      // 定义变量并默认设置为空值
      $nameErr = $emailErr = $genderErr = $websiteErr = "";
      $name = $email = $gender = $comment = $website = "";

      if ($_SERVER["REQUEST_METHOD"] == "POST")
      {
        if (empty($_POST["name"]))
        {
          $nameErr = "名字是必需的";
        }
        else
        {
          $name = test_input($_POST["name"]);
          // 检测名字是否只包含字母跟空格
          if (!preg_match("/^[a-zA-Z ]*$/",$name))
          {
            $nameErr = "只允许字母和空格";
          }
        }

        if (empty($_POST["email"]))
        {
          $emailErr = "邮箱是必需的";
        }
        else
        {
          $email = test_input($_POST["email"]);
          // 检测邮箱是否合法
          if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email))
          {
            $emailErr = "非法邮箱格式";
          }
        }

        if (empty($_POST["website"]))
        {
          $website = "";
        }
        else
        {
          $website = test_input($_POST["website"]);
          // 检测 URL 地址是否合法
          if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website))
          {
            $websiteErr = "非法的 URL 的地址";
          }
        }

        if (empty($_POST["comment"]))
        {
          $comment = "";
        }
        else
        {
          $comment = test_input($_POST["comment"]);
        }

        if (empty($_POST["gender"]))
        {
          $genderErr = "性别是必需的";
        }
        else
        {
          $gender = test_input($_POST["gender"]);
        }
      }

      function test_input($data)
      {
        $data = trim($data);
        $data = stripslashes($data);
        $data = htmlspecialchars($data);
        return $data;
      }
    ?>

PHP基础学习笔记3的更多相关文章

  1. 【C#编程基础学习笔记】4---Convert类型转换

    2013/7/24 技术qq交流群:JavaDream:251572072  教程下载,在线交流:创梦IT社区:www.credream.com [C#编程基础学习笔记]4---Convert类型转换 ...

  2. 【C#编程基础学习笔记】6---变量的命名

    2013/7/24 技术qq交流群:JavaDream:251572072  教程下载,在线交流:创梦IT社区:www.credream.com [C#编程基础学习笔记]6---变量的命名 ----- ...

  3. 1.C#基础学习笔记3---C#字符串(转义符和内存存储无关)

    技术qq交流群:JavaDream:251572072  教程下载,在线交流:创梦IT社区:www.credream.com ------------------------------------- ...

  4. Java基础学习笔记总结

    Java基础学习笔记一 Java介绍 Java基础学习笔记二 Java基础语法之变量.数据类型 Java基础学习笔记三 Java基础语法之流程控制语句.循环 Java基础学习笔记四 Java基础语法之 ...

  5. Mysql数据库基础学习笔记

    Mysql数据库基础学习笔记 1.mysql查看当前登录的账户名以及数据库 一.单表查询 1.创建数据库yuzly,创建表fruits 创建表 ) ) ,) NOT NULL,PRIMARY KEY( ...

  6. 0003.5-20180422-自动化第四章-python基础学习笔记--脚本

    0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...

  7. Java基础学习笔记(一)

    Java基础学习笔记(一) Hello World 基础代码学习 代码编写基础结构 class :类,一个类即一个java代码,形成一个class文件,写于每个代码的前端(注意无大写字母) XxxYy ...

  8. C#RabbitMQ基础学习笔记

    RabbitMQ基础学习笔记(C#代码示例) 一.定义: MQ是MessageQueue,消息队列的简称(是流行的开源消息队列系统,利用erlang语言开发).MQ是一种应用程序对应用程序的通信方法. ...

  9. handlebars.js基础学习笔记

    最近在帮学校做个课程网站,就有人推荐用jquery+ajax+handlebars做网站前端,刚接触发现挺高大上的,于是就把一些基础学习笔记记录下来啦. 1.引用文件: jquery.js文件下载:h ...

  10. 基础学习笔记之opencv(6):实现将图片生成视频

    基础学习笔记之opencv(6):实现将图片生成视频 在做实验的过程中.难免会读视频中的图片用来处理,相反将处理好的图片又整理输出为一个视频文件也是非经常常使用的. 以下就来讲讲基于opencv的C+ ...

随机推荐

  1. vue formatter element表格处理数据

    formatter 指定一个vue methods 方法 作用:对从数据库中取出的数据进行处理后展示. <el-table-column prop="partner1" // ...

  2. C++——动态内存分配3

    动态创建多维数组  new 类型名T[下标表达式1][下标表达式2]…: 如果内存申请成功,new运算返回一个指向新分配内存首地址的指针,是一个T类型的数组,数组元素的个数为除最左边一维外各维下标表达 ...

  3. 3ds Max File Format (Part 2: The first inner structures; DllDirectory, ClassDirectory3)

    Now that we understand the outer structure of the file, it's time to look closer to what's inside. T ...

  4. selenium爬去数据+存储

    1 爬去数据代码 #coding=utf-8 from selenium import webdriver from selenium.webdriver.common.by import By fr ...

  5. 什么是kafka,怎么使用? (2) - 内含zookeeper等

    zookeeper依赖于java https://baike.baidu.com/item/yum/2835771?fr=aladdin http://yum.baseurl.org/ 去yum官网下 ...

  6. 【教程】Visual Studio2019安装教程

    Visual Studio正式版早就可以使用了,但是好多小伙伴还是不会用,今天小编就给大家带来了最新的安装教程和激活方法. Visual Studio 2019包含社区版(Community).专业版 ...

  7. Learn from Niu 2020.1.21

    1. 你一定要看计算机领域的文章. 如果你是看一堆应用,你最终还是会不知道怎么做. 从计算机到energy是降维打击, 当你学习了计算机的hot skill,再去做应用很容易. 2. 搞研究的思路: ...

  8. 修改linux的MAC地址

    命令修改 步骤如下,但不唯一: 1.临时性的修改: ①依次输入以下命令: /sbin/ifconfig eth0 down /sbin/ifconfig eth0 hw ether 00:0C:29: ...

  9. Quality and CCPC

    English foundation: the fractional part 小数部分 disclaimer 免责声明 fictitious  虚构的,编造的;假定的,虚设的;小说式的;假装的 No ...

  10. python console的命令执行

    命令 from app01 import models models.UserInfo.objects.all()查询出所有内容