2018.6.16 PHP小实验

PHP实验

实验一

<?php
/**
 * Created by PhpStorm.
 * User: qichunlin
 * Date: 2018/5/17
 * Time: 下午5:35
 */

echo "请输入要排序的数字:<br/>";
echo "<form method=post>";
//循环生成文本框
for ($i = 1; $i < 6; $i++) {
    //文本框的名字是数组名
    echo "<input type=‘text‘ name=‘stu[]‘ size=‘5‘>";
    if ($i < 5) {
        echo "-";
    }
}
    echo "<input type=‘submit‘ name=‘bt‘ value=‘提交‘>";
    echo "</form>";
    if (isset($_POST[‘bt‘])) {
        $temp = 0;
        $stu = $_POST[‘stu‘];
        $num = count($stu);
        echo "您输入的数据有<br/>";
        foreach ($stu as $score) {
            echo $score . "<br>";
        }
        for ($i = 0; $i < $num; $i++)
            for ($j = $i + 1; $j < $num; $j++) {
                if ($stu[$i] > $stu[$j]) {
                    $temp = $stu[$i];
                    $stu[$i] = $stu[$j];
                    $stu[$j] = $temp;
                }

            }
    echo "排序后的数据如下所示:<br/>";
    //使用while循环遍历数组
    while (list($key, $value) = each($stu)) {
        //输出排序后的数组
        echo $value . "<br/>";
    }
}
?>

实验二


<?php
/**
 * Created by PhpStorm.
 * User: qichunlin
 * Date: 2018/5/17
 * Time: 下午6:10
 */

echo "请输入学号:<br/>";
echo "<form method=‘post‘>";
for ($i = 1; $i < 6; $i++) {
    //文本框的名字就是数组名
    echo "<input type=‘text‘ name=‘stu[]‘ size=‘6‘>";
    if ($i < 5)
        echo "-";
}
echo "<input type=‘submit‘ name=‘bt‘ value=‘提交‘>";
echo "</form>";
if (isset($_POST[‘bt‘])) {
    //echo "123";
    $k = 0;
    $jsj = array();
    $stu = $_POST[‘stu‘];
    for ($i = 0; $i < count($stu); $i++)
        for ($j = $i + 1; $j < count($stu); $j++) {
            if (strcmp($stu[$i], $stu[$j] == 0))
                array_splice($stu, $j, 1);
        }
    $str = implode(",", $stu);
    echo "所有的学生学号如下:</br>";
    echo $str . "<br>";
    foreach ($stu as $value) {
        if (strstr($value, "0811")) {
            $string = str_replace("08121", "08110", $value);
            $jsj[$k] = $string;
            $k++;

        }
    }
    echo "计算机专业的学号如下:</br>";
    echo implode(",", "$jsj");
}
?>

实验三

.STYLE1 { font-size: 14px; color: red }
div { text-align: center; font-size: 24px; color: #0000FF }
table { margin: 0 auto }

<?php

/**

  • Created by PhpStorm.
  • User: qichunlin
  • Date: 2018/5/17
  • Time: 下午4:36

    */

    if (isset($_POST[‘GO‘])) {

    $id = $_POST[‘ID‘];

    $pwd = $_POST[‘PWD‘];

    $birthday = $_POST[‘BIRTHDAY‘];

    $Email = $_POST[‘EMAIL‘];

    //检查是否为6~12个字符

    $checkId = preg_match(‘/^\w{6,12}$/‘, $id);

    //检查是否为6~20个数字

    $checkPwd = preg_match(‘/^\d{6,20}$/‘, $pwd);

    //检查是否是有效日期

    $checkBirthday = preg_match(‘/^\d{4}-(0?\d|1?[012])-(0?\d|3[01])$/‘, $birthday);

    //检查Email地址的合法性

    $checkEmail = preg_match(‘/^[a-zA-Z0-9_-][email protected][a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$/‘, $Email);

    if (!$checkId)

    echo "";

    else if (!$checkPwd)

    echo "";

    else if (!$checkBirthday)

    echo "";

    else if (!$checkEmail)

    echo "";

    else

    echo "注册成功!";

    }

    ?>

    ```

实验四

<!DOCTYPE html>
<!--HTML5表单-->
<style type="text/css">
    table, div, td {
        text-align: center;
    }
    table {
        margin: 0 auto;
    }
    p {
        font-size: 18px;
        color: #FF0000;
    }
</style>

<form name=fr1 method=post>
    <table border=1>
        <tr>
            <td>
                <div>学号</div>
            </td>
            <td>
                <div>姓名</div>
            </td>
            <td>
                <div>成绩</div>
            </td>
        </tr>
        <?php
        /**
         * Created by PhpStorm.
         * User: qichunlin
         * Date: 2018/5/20
         * Time: 下午2:56
         */
        for ($i = 1; $i < 5; $i++) {
            ?>
            <tr>
                <td><input type=text name="XH[]"></td>
                <td><input typet=text name="XM[]"></td>
                <td><input type=text name="CJ[]"></td>
            </tr>
            <?php
        }
        ?>
        <tr>
            <td colspan="3"><input type="submit" name="bt_stu" value="提交"></td>
        </tr>
    </table>
</form>

<p align=center>注意,学号值不能重复</p>

<?php
if (isset($_POST[‘bt_stu‘])) {
    $XH = $_POST[‘XH‘];
    $XM = $_POST[‘XM‘];
    $CJ = $_POST[‘CJ‘];
    array_multisort($CJ, $XH, $XM);
    for ($i = 0; $i < count($XH); $i++)
        $sum[$i] = array($XH[$i], $XM[$i]);
    echo "<div>排序后的成绩表如下:</div>";
    echo "<table border=2><tr><td>学号</td><td>姓名</td><td>成绩</td></tr>";
    foreach ($sum as $value) {
        list($stu_number, $stu_name, $stu_score) = $value;
        echo "<tr><td>$stu_number</td><td>$stu_name</td><td>$stu_score</td></tr>";
            }
    echo "</table><br/>";
    reset($sum);
    while (list($key, $value) = each($sum)) {
        list($stu_number, $stu_name, $stu_score) = $value;
        if ($stu_number == "3") {
            echo "<p align=center>";
            echo $stu_number . "的姓名为:" . $stu_name . ",";
            echo "成绩为:" . $stu_score;
            break;
        }
    }
}
?>

实验五

<!DOCTYPE html>
<!--HTMl5表单-->
<style type="text/css">
    p {
        font-family: "方正舒体";
        text-align: center;
    }

    div {
        font-family: "黑体";
        text-align: center;
    }
</style>

<form name="f1" action="" method="post">
    <p>
        您的Email地址:<br><input type="text" name="Email" size="31"><br>
        您的留言:<br><textarea name="note" rows="10" cols="30"></textarea>
        <br><input type="submit" name="bt1" value="提交"><input type="reset" name="bt2" value="清空">
    </p>
</form>

<?php
/**
 * Created by PhpStorm.
 * User: qichunlin
 * Date: 2018/5/20
 * Time: 下午6:37
 */
if (isset($_POST[‘bt1‘])) {
    //接收Email地址
    $Email = $_POST[‘Email‘];
    $note = $_POST[‘note‘];
    //判断是否取得值
    if (!$Email || !$note)
        echo "<script>alert(‘Eamil地址和留言请填写完整!‘)</script>";
    else {
        //分割Email地址
        $array = explode("@", $Email);
        //如果有两个@符号则报错
        if (count($array) != 2)
            echo "<script>alert(‘Email地址格式错误!‘)</script>";
        else {
            //取得@前面的内容
            $username = $array[0];
            //取得@后面的内容
            $netname = $array[1];
            //如果username中含有"."或","就会报错
            if (strstr($username, ".") or strstr($username, ","))
                echo "<script>alert(‘Email地址格式错误!‘)</script>";
            else {
                $str1 = htmlspecialchars("<");//输出符号"<"
                $str2 = htmlspecialchars(">");//输出符号">"
                $newnote = str_replace("我", "本人", $note);

                //xss攻击 转化成HTML实体形式就能解决
                $newnote=htmlspecialchars($newnote);
                echo "<div>";
                echo "用户" . $str1 . $username . $str2 . "您好! &nbsp;";
                echo "您是" . $username . "网友!<br>";
                echo "<br>您的留言是:<br>&nbsp;&nbsp;&nbsp;" . $newnote . "<br>";
                echo "</div>";
            }
        }
    }
}
?>

原文地址:https://www.cnblogs.com/qichunlin/p/9066745.html

时间: 2024-08-30 18:09:21

2018.6.16 PHP小实验的相关文章

新入手体验:三个小实验

新入手体验:三个小实验 一:一个LED闪烁 控制要求:1个LED灯,每隔50ms闪烁一次 实物连接图: 控制代码: 1 //2018.6/11 2 3 int LED = 10;//定义数字接口10,对应 4 5 void setup() 6 7 { 8 9 pinMode(LED,OUTPUT);//设置数字10 口为输出接口,Arduino 上我们用到的I/O 口都要进行类似这样的定义. 10 11 } 12 13 14 15 void loop() //死循环体 16 17 { 18 19

初识句柄操作(控制台窗口小实验)

今日学习了控制台使用句柄操作的方法. 我们都知道,使用iostream也可以向屏幕中输出语句. 但它们只能实现基本的输入输出 操作,对于控制台窗口界面的控制却无能为力,而且不能与stdio.h和conio.h友好相处,因为iostream和它们是C++两套不同的输入. 因此,我们需要句柄类来帮助我们完成这个操作. 下面直接上练习小代码,为贪食蛇清屏的小片段. 经一番查找,习得基本用法. 1 void clrscr(void) { 2 //控制台窗口信息类型 存有缓冲区大小 当前光标位置 窗口显示

留言本小实验

实验目的: 利用PHP实现发布留言,并存在txt文本文件中,还可以从文本文件中读取留言,并显示在网页上. 实验代码: 先要用个表单提交留言,写一个简单的html如下: 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 2 <html xmlns="http://www

关于java中equals与==的区别的小实验

java中equals与==经常容易混淆,简单一点说就是equals比较的是值是否相等,是一种方法,==比较的是二者是都为同一对象,是一种操作符. 做了几个小实验比较结果. 实验一: String str1="ab": String str2="ab": System.out.println(s1==s2)://trueSystem.out.println(str1.equals(str2));//true 这里的str1与str2都指向了常量池中的同一对象,所以S

CISCO综合小实验

前言: 今天分享我自己做的一个思科综合小实验,难度CCNA级别.主要涉及以下知识点:VLAN.DHCP.STP(spanning-tree)+HRSP(standby).OSPF.NAT.ACL.实验用的是GNS3模拟器.实验如下: 实验目的: 最终的实验目的是PC能够访问R2的loopback接口(在这里模拟的是互联网).具体实现细节请根据配置来自行判断.有疑问可以在下面留言,欢迎共同探讨. 实验拓扑图: 具体配置: PC1 PC1#conf terminal PC1(config)#no i

shell脚本基础的小实验1

shell脚本入门小实验 编写一个小脚本程序sumsquare.sh,用来计算两个整数的平方和. 例如:当执行sumsquare.sh时 输入3和4,输出的结果为:25; 当执行sumsquare.sh时输入5和6,输出结果为:61 让我们想想两数的平方和 在shell上怎么先做平方再就和,平方就一个数的2次方也就是这个数乘以本身 我们就用输入3和4做例:字面意思就是当你输入3和4 得到的结果是25 那么就是说我们要先做3和4这两个数的平方:3的平方3X3=9;4的平方4X4=16:就和9+16

DCDC纹波小实验

关于使用示波器测试纹波的注意事项 使用示波器的AC耦合方式测量 由于示波器的头套容易引人噪声,因此在测试前必需把探头的头套去掉 因为电源的高频噪声很容易通过小电感就可以滤掉,因此更关心的是中低频的噪声.测试时将示波器的带宽限制调到尽可能的低(20MHz),避免从表笔引入噪声(我之前就吃过这方面的亏) DCDC后端接LDO AMS1117-5V的Datasheet上要求的最低压差(VIN-VOUT)为1.1V到1.25V,这就要求输入要大于5V+1.1V=6.1V,如果输入不满足这个条件会怎么样呢

ES6小实验-let和const(2)

继续小实验,上次写到块级作用域,那么为什么需要块级作用域呢?书中给了两个场景: 1.没有块级作用域,内层变量可能会覆盖外层变量.举例: var tmp = new Date() function f() { console.log(tmp) if(false) { var tmp = "hello world" } } f();//undefined 内层的tmp变量把外层的tmp变量覆盖,所以输出结果为undefined 2.用来计数的循环变量泄露为全局变量,举例: var s =

ES6小实验-字符串的扩展

ES6里面的对字符串的扩展实际上就是增加了一些方法,使对字符串的操作更加完善,下面做几个小实验来验证下: includes(): 返回布尔值,表示是否找到了参数字符串,支持第二的参数,表示开始的位置 'use strict'; var s = 'Hello world!'; console.log(s.includes('Hello'));//true startsWith(): 返回布尔值,表示参数字符串是否在源字符串的头部,支持第二的参数,表示开始的位置 'use strict'; var