一、检索表单信息
  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. jqgrid中分页和搜索,jqgrid loadonce:true后trigger("reloadGrid")无效

      第一次接触jqgrid,发现项目中好多地方都用到.   jqgrid是典型的B/S架构(浏览器/服务器模式),服务器端只需提供数据管理,浏览器只需负责数据显示.   jqGrid是用ajax实现对 ...

  2. Python读取execl表格

    读取execl表格 import xlrd Execl = xlrd.open_workbook(r'Z:\Python学习\python26期视频\day76(allure参数.读excel.发邮件 ...

  3. JS高级---沙箱

    沙箱 沙箱: 环境, 黑盒, 在一个虚拟的环境中模拟真实世界, 做实验, 实验结果和真实世界的结果是一样, 但是不会影响真实世界     全局变量 var num=10; console.log(nu ...

  4. liunx 使用crontab定时任务+shell脚本删除tomcat日志elasticsearch日志索引

    由于过多的日志很占用磁盘空间,今天经理让我写一个脚本删除多余的日志.和es索引 定时删除试根据crontab+shell脚本实现的 crontab配置目录 /var/spool/cron/ 该目录下存 ...

  5. 分析https网页加载http资源导致的页面报错原因及其解决方案

    https网页加载http资源导致的页面报错及解决方案 https是当下的网站的主流趋势,甚至像苹果这样的大公司,则完全要求用户必须使用https地址. 然而对于以前http链接来说,我们往往就存在一 ...

  6. SpringMVC:Controller配置总结

    西部开源-秦疆老师:SpringMVC系列博客 , 秦老师交流Q群号: 664386224 未授权禁止转载!编辑不易 , 转发请注明出处!防君子不防小人,共勉! SpringMVC:Controlle ...

  7. 松软科技Web课堂:AJAX 简介

    AJAX AJAX 并不是编程语言. AJAX 是一种从网页访问 Web 服务器的技术. AJAX 代表异步 JavaScript 和 XML. AJAX 实例解释 HTML 页面 <!DOCT ...

  8. vue-element-admin框架快速入门

    年底了,最近公司也不是太忙,感觉今年互联网行业都遇到寒冬,不在是前两年像热的发烫的赛道.这几天完成公司项目系统的优化和升级,目前准备想开发一套前后端分离的系统.       现在java最新最火的技术 ...

  9. Myeclipse的一些快捷键整理(转)

    1. [ALT+/]    此快捷键为用户编辑的好帮手,能为用户提供内容的辅助,不要为记不全方法和属性名称犯愁,当记不全类.方法和属性的名字时,多体验一下[ALT+/]快捷键带来的好处吧.    2. ...

  10. 洛谷 P5569 [SDOI2008]石子合并 GarsiaWachs算法

    石子合并终极通用版 #include<bits/stdc++.h> using namespace std ; ]; int n,t,ans; void combine(int k) { ...