zoukankan      html  css  js  c++  java
  • ↗☻【PHP与MySQL动态网站开发(第4版本) #BOOK#】第2章 PHP编程

    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
        <form action="test.php" method="post">
            <fieldset>
                <legend>Enter your information in the form below:</legend>
                <p><label>Name:<input name="name" type="text" size="20" maxlength="40" /></label></p>
                <p><label>Email Address:<input name="email" type="text" size="40" maxlength="60" /></label></p>
                <p>
                    <label for="gender">Gender: </label>
                    <input type="radio" name="gender" value="M" /> Male
                    <input type="radio" name="gender" value="F" /> Female
                </p> 
                <p>
                    <input type="checkbox" name="interests[]" value="Music" />Music
                    <input type="checkbox" name="interests[]" value="Movies" />Movies
                    <input type="checkbox" name="interests[]" value="Books" />Books
                </p>
                <p>
                    <label>
                        Age:
                        <select name="age">
                            <option value="0-29">Under 30 </option>
                            <option value="30-60">Between 30 and 60</option>
                            <option value="60+">Over 60 </option>
                        </select>
                    </label>
                </p> 
                <p><label>Comments: <textarea name="comments" rows="3" cols="40"></textarea></label></p> 
            </fieldset> 
            <p><input type="submit" name="submit" value="Submit My Information" /></p> 
        </form>
        <?php
            $name = $_REQUEST['name'];
            $email = $_REQUEST['email'];
            $comments = $_REQUEST['comments'];
    
            /*
             * 点击submit,跳转action
             * 第一次进来,输入框没有内容,echo自然是空的
             * 输入内容,点击submit,跳转test.php,相当于刷新了一遍当前页面,echo输入的值
             */
            echo "<p>Thank you, $name, for the following comments:<br /> $comments We will reply to you at $email.</p>";
    
            if (isset($_REQUEST['gender'])) { // isset 用于检测一个变量是否被设置
                $gender = $_REQUEST['gender'];
            } else {
                $gender = NULL;
            }
            if ($gender == 'M') {
                echo '<p>Good day, Sir!</p>';
            } elseif ($gender == 'F') {
                echo '<p>Good day, Madam!</p>';
            } else {
                echo '<p>You forgot to enter your gender!</p>';
            }
            
            switch ($gender) {
                case 'M':
                    echo '<p>Good day, Sir!</p>';
                    break;
                case 'F':
                    echo '<p>Good day, Madam!</p>';
                    break;
                default:
                    echo '<p>You forgot to enter your gender!</p>';
                    break;
            }
            
            /*
             * isset() 它用于测试一个变量是否具有值(包括0、FALSE,或者一个空字符串,但不能是NULL)
             * 使用isset()函数的一个问题是:空字符串测试为TRUE
             * empty() 它将检查一个变量是否具有空(empty)值:空字符串、0、NULL或FALSE
             * 表单验证的第一个目标是确保在表单元素中输入或选择了某些内容
             * 第二个目标是确保提交的数据具有正确的类型(数字、字符串等)、
             * 正确的格式(如电子邮件地址)或特定的可接受的值(如$gender应该等于M或F)
             */
            if (!empty($_REQUEST['name'])) {
                $name = $_REQUEST['name'];
            } else {
                $name = NULL;
                echo '<p class="error">You forgot to enter your name!</p>';
            }
    
            /*
             * 如果恶意用户创建他们自己的表单并提交给handle_form.php脚本,
             * 他们可以给$_REQUEST['gender']提供他们想要的任何值
             * 在这个脚本的前一个版本中,通过引用$_REQUEST数组来访问值。
             * 但是,由于这些变量来自于一个使用post方法的表单,
             * $_POST将是更准确(因而更安全)的引用
             * 如果数组使用字符串作为键,用于括住键的引号将使语法变得混乱。
             * 为了解决这个问题,把数组名和键包括在花括号中
             * {$_POST['name']}
             */
    
            $band[] = 'Jemaine';
            $band[] = 'Bret';
            $band[] = 'Murray';
            $band['fan'] = 'Mel';
            $band['fan'] = 'Dave'; // 重写
    
            $fruit[2] = 'orange';
    
            $states = array('IA' => 'Iowa', 'MD' => 'Maryland');
            $artists = array('Clem Snide', 'Shins', 'Eels');
            $artists = array(1 => 'Clem Snide', 'Shins', 'Eels');
            $artists = range(1, 10);
            echo $artists[0];
    
            foreach ($artists as $value) {
                echo "The value at $value";
            }
            foreach ($artists as $key => $value) {
                echo "The value at $key is $value";
            }
    
            $num = count($artists);
    
            // 创建连续字母的数组
            $alphabet = range('a', 'z');
            echo is_array($alphabet);
    
            // 多维数组
            $mexico = array(
                'YU' => 'Yucatan',
                'BC' => 'Baja California'
            );
            $us = array(
                'MD' => 'Maryland',
                'IL' => 'Illinois'
            );
            $n_america = array(
                'Mexico' => $mexico,
                'United States' => $us
            );
            foreach ($n_america as $country => $list) {
                echo "<h2>$country</h2><ul>";
                foreach ($list as $k => $v) {
                    echo "<li>$k - $v</li>";
                }
                echo "</ul>";
            }
    
            if ($_POST['submit']) {
                echo $_POST['interests'][1];
            }
    
            /*
             * sort 重置数组的键
             * asort 维持键
             * ksort 按键对数组排序
             * rsort
             * arsort
             * krsort
             */
        ?>
    </body>
    </html>
  • 相关阅读:
    关于 MySQL 的 General Log 功能
    Oracle VirtualBox & CentOS 7.9 Guest
    CentOS 7 环境下添加拥有 sudo 权限的用户
    CentOS 7 环境下部署 MySQL 5.7 服务
    CentOS 7 环境下部署 Metasploit Framework & Armitage 团队服务
    CentOS 7 环境下部署 Docker 服务
    window10下安装MySQL
    sticky
    Eclipse 打包Mac产品IDE 记录
    Halcon图像处理中的坐标系
  • 原文地址:https://www.cnblogs.com/jzm17173/p/3135672.html
Copyright © 2011-2022 走看看