• PHP实验四


    1、 按下列要求完成各个页面:(提示:在做此题前需先建立一数据库,包含一张表,此表至少包含 5 个字段(姓名,性别,兴趣爱好,家庭住址,备注))

    (1)制作静态页面 ex01a.php ,当点击“提交”按钮时,可以向数据库中添加数据,如果添加数据失败,能给出提示,如果添加成功,则跳转到另一页面ex01b.php,本页面可以把数据库中所有的学生的资料显示出来。

    (2) 当点击 ex01b.php 中的“修改”时,可将网页连接到 ex01c.php 如图 3 所示,可以修改学生的信息。该页面包含一个表单,每个表单控件的默认值均为ex01.php 页面中的学生的信息值。当点击“修改”按钮时,可以将该学生的信息进行修改,并保存到数据库中,成功保存数据后,可将页面转至 ex01b.php。

    (3) 当点击“删除”时,如果能成功删除数据,则给出提示“数据删除成功!”,并将网页转至ex01b.php。数据删除失败也给出提示“数据删除失败!”。

    ex01a.php

    <html>
    <head>
        <title>添加</title>
    </head>
    <body>
    <center>
        <form id="addinfo" name="addinfo" method="post" action="act.php?action=add">
            <table>
                <tr style="background: #666666;font-size: 30px ;text-align: center">
                    <td colspan="2">添加个人资料</td>
                </tr>
                <tr>
                    <td>姓名</td>
                    <td><input id="name" name="name" type="text"/></td>
                </tr>
                <tr>
                    <td>性别</td>
                    <td><input type="radio" name="sex" value="男"/><input type="radio" name="sex" value="女"/></td>
                </tr>
    
                <tr>
    
                    <td>兴趣爱好</td>
                    <td><input type="text" name="hobby" id="hobby"/></td>
                </tr>
    
                <tr>
    
                    <td>家庭住址</td>
                    <td><select id="address" name="address">
                            <option value="">请选择您的居住区域</option>
                            <option value="上海">上海</option>
                            <option value="广州">广州</option>
                            <option value="北京">北京</option>
                        </select></td>
                </tr>
                <tr>
                    <td>备注</td>
                    <td><textarea id="remark" name="remark" rows="5" cols="30">
    </textarea></td>
                </tr>
                <tr>
                    <td><input type="submit" value="提交"/>  </td>
                    <td><input type="reset" value="重置"/>  
                </tr>
            </table>
        </form>
    </center>
    </body>
    </html>

    ex01b.php

    <!DOCTYPE html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script>
            function doDel(id) {
                if (confirm("确定要删除么?")) {
                    window.location = 'act.php?action=del&id=' + id;
                }
            }
        </script>
    </head>
    <style>
    
        th, td {
            width: 100%;
            word-break: keep-all; /* 不换行 */
            white-space: nowrap; /* 不换行 */
            overflow: hidden; /* 内容超出宽度时隐藏超出部分的内容 */
            text-overflow: ellipsis; /* 当对象内文本溢出时显示省略标记(...) ;需与overflow:hidden;一起使用。*/
        }
    </style>
    <body>
    <center>
        <table width="600" border="1">
            <tr style="background: #666666;font-size: 30px ;text-align: center">
                <td colspan="6">学生个人信息表</td>
            </tr>
            <tr>
    
                <th>姓名</th>
                <th>性别</th>
                <th>爱好</th>
                <th>家庭住址</th>
                <th>备注</th>
    
            </tr>
            <?php
            //1.连接数据库
            try {
                $pdo = new PDO("mysql:host=localhost;dbname=test;", "root", "root");
            } catch (PDOException $e) {
                die("数据库连接失败" . $e->getMessage());
            }
            //2.解决中文乱码问题
            $pdo->query("SET NAMES 'UTF8'");
            //3.执行sql语句,并实现解析和遍历
            $sql = "SELECT * FROM info ";
            foreach ($pdo->query($sql) as $row) {
                echo "<tr>";
                echo "<td>{$row['name']}</td>";
                echo "<td>{$row['sex']}</td>";
                echo "<td>{$row['hobby']}</td>";
                echo "<td>{$row['address']}</td>";
                echo "<td>{$row['remark']}</td>";
                echo "<td>
                         <a href='javascript:doDel({$row['id']})'>删除</a>
                         <a href='ex01c.php?id=({$row['id']})'>修改</a>
                       </td>";
                echo "</tr>";
            }
    
            ?>
    
        </table>
    </center>
    </body>
    </html>

    ex01c.php

    <html>
    <head>
        <meta charset="UTF-8">
        <title>学生信息管理</title>
    
    </head>
    <body>
    <center>
        <?php
        // .连接数据库
        try{
            $pdo = new PDO("mysql:host=localhost;dbname=test;","root","root");
        }catch(PDOException $e){
            die("数据库连接失败".$e->getMessage());
        }
        // .防止中文乱码
        $pdo->query("SET NAMES 'UTF8'");       // .拼接sql语句,取出信息
        $sql = "SELECT * FROM info WHERE id =".$_GET['id'];
        $stmt = $pdo->query($sql);//返回预处理对象
        if($stmt->rowCount()> 0 ){
            $stu = $stmt->fetch(PDO::FETCH_ASSOC);//按照关联数组进行解析
        }else{
            die("没有要修改的数据!");
        }
        ?>
        <form id="editstu" name="editstu" method="post" action="act.php?action=edit">
            <input type="hidden" name="id" id="id" value="<?php echo $stu['id'];?>"/>
    
            <table>
                <tr style="background: #666666;font-size: 30px ;text-align: center">
                    <td colspan="2">修改学生信息</td>
                </tr>
                <tr>
                    <td>姓名</td>
                    <td><input id="name" name="name" type="text" value="<?php echo $stu['name'];?>"/></td>
                </tr>
                <tr>
                    <td>性别</td>
                    <td><input type="radio" name="sex" value="男" /><input type="radio" name="sex" value="女" /></td>
                </tr>
    
                <tr>
    
                    <td>兴趣爱好</td>
                    <td><input type="text" name="hobby" id="hobby" value="<?php echo $stu.['hobby']?>"/></td>
                </tr>
    
                <tr>
    
                    <td>家庭住址</td>
                    <td><select id="address" name="address" >
                            <option value ="">请选择您的居住区域</option>
                            <option value ="上海">上海</option>
                            <option value="广州">广州</option>
                            <option value="北京">北京</option>
                        </select></td>
                </tr>
                <tr>
                    <td>备注</td>
                    <td><textarea  id="remark" name="remark"  rows="5" cols="30">
    </textarea></td>
                </tr>
                <tr>
                    <td><input type="submit" value="修改"/>  </td>
                </tr>
            </table>
    
        </form>
    
    </center>
    </body>
    </html>

    act.php

    <?php
    //操作数据的增删改update
    
    // .连接数据库
    try {
        $pdo = new PDO("mysql:host=localhost;dbname=test;", "root", "root");
    
    } catch (PDOException $e) {
        die("数据库连接失败" . $e->getMessage());
    }
    // .防止中文乱码
    $pdo->query("SET NAMES 'UTF8'");
    // .通过action的值进行对应操作
    switch ($_GET['action']) {
        case 'add':
        {   //增加操作
            $name = $_POST['name'];
            $sex = $_POST['sex'];
            $hobby = $_POST['hobby'];
            $address = $_POST['address'];
            $remark = $_POST['remark'];
    
            //写sql语句
            $sql = "INSERT INTO info VALUES (NULL ,'{$name}','{$sex}','{$hobby}','{$address}','{$remark}')";
            $rw = $pdo->exec($sql);
            if ($rw > 0) {
                echo "<script> //alert('增加成功');
                                   window.location='ex01b.php'; //跳转
                        </script>";
            } else {
                echo "<script> alert('增加失败');
                                   window.history.back(); //返回上一页
                        </script>";
            }
            break;
        }
        case "del":
        {    // .获取表单信息
            //通过id删除信息
            $id = $_GET['id'];
            $sql = "DELETE FROM info WHERE id='{$id}'";
          $rw = $pdo->exec($sql);
            if ($rw > 0) {
                echo "<script> alert('数据删除成功!');
                                   window.location='ex01b.php'; //跳转
                        </script>";
            } else {
                echo "<script> alert('数据删除失败!');
                                   window.history.back(); //返回上一页
                        </script>";
            }
    
            break;
        }
        case "edit" :
        {   // .获取表单信息
            //原id
            $id = $_POST['id'];
            //表单信息
          //修改之后的信息
            $name = $_POST['name'];
            $sex = $_POST['sex'];
            $hobby = $_POST['hobby'];
            $address = $_POST['address'];
            $remark = $_POST['remark'];
            $sql = "UPDATE info SET name='{$name}',sex='{$sex}',address='{$address}',remark='{$remark}',hobby='{$hobby}' WHERE id='{$id}'";
            $rw = $pdo->exec($sql);
            if ($rw > 0) {
                echo "<script>alert('修改成功');window.location='ex01b.php'</script>";
            } else {
                echo "<script>alert('修改失败');window.history.back()</script>";
            }
            break;
        }
    
    }

    结果截图

    2、 按下列要求完成各个页面:(提示:此题的数据库中的表有 5 个字段(姓名,性别,年龄,家庭住址,特长爱好))

    1) 建立一个登陆页面 ex02a.php。

    2) 如果你输入的个人资料(姓名和性别)在数据库中能够找到则将页面转到

    ex02c.php。

    3) 如果你输入个人资料在数据库中找不到,则在 ex02b.php 页面上半部分会给出提示“XXX 先生(小姐),您好,对不起,没有找到您的个人资料,请填写您的详细信息!”,其中“XXX”为你输入的姓名,当你输入的性别为“男”时则显示“先生”,当你输入的性别为“女”时则显示“小姐”。

    4) 在 ex02b.php 页面的下半部分做一表单,包含“真实姓名”、“性别”、“年龄”、“家庭住址”、“特长爱好”等项目。

    5) 当点击保存按钮时,可以将你输入的信息保存到数据库中。如果保存成功则给出提示“您的资料保存成功!”,且能返回 ex02a.php 页面。

    6) 在 ex02c.php 页面中,在网页的上方插入一条红色水平线,在水平线上方书写文字:“您的个人资料如下:”。

    7) 在水平线下方建一表单,可以将你在 ex02a.php 网页中输入的这位同学的资料从数据库中调出并显示出来。

    8) 在表格的最下方建立“修改”和“删除”超链接,当点击“修改”时,可将网页连接到 ex02d.php 修改学生信息的页面,当点击“删除”时,如果能成功删除数据,则给出提示“数据删除成功!”,并将网页转至 ex02b.php。数据删除失败也给出提示“数据删除失败!”

    ex02a.php

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>用户登录</title>
    </head>
    <body>
    <div align="center">
        <H3 style="color: mediumspringgreen;font-size: 25px">用户登录</H3>
        <!--实现登录功能-->
        <form action="act02.php?action=login" method="post">
            <table border="1">
                <tr>
                    <td>姓名:</td>
                    <td><input id="name" name="name" type="text"/></td>
                </tr>
    
                <tr>
                    <td>性别:</td>
                    <td><input type="radio" name="sex" value="男" checked/><input type="radio" name="sex" value="女"/></td>
                </tr>
                <tr>
                    <td colspan="2">
                    <input type="submit" value="提交"/>  
                        <input type="reset" value="重置"/>  
                    </td>
                </tr>
    
            </table>
        </form>
    </div>
    </body>
    </html>

    ex02b.php

    <html>
    <head>
        <title>添加</title>
    </head>
    <body>
    <center>
        <h2 style="color: #24fa26"><?php session_start() ; echo $_SESSION['msg']?>对不起,没有找到您的个人资料,请填写您的详细信息</h2>
        <hr color="red">
        <form id="addinfo" name="addinfo" method="post" action="act02.php?action=add">
            <table border="1">
                <tr style="background: #666666;font-size: 30px ;text-align: center">
                    <td colspan="2">添加个人资料</td>
                </tr>
                <tr>
                    <td>真实姓名</td>
                    <td><input id="name" name="name" type="text"/></td>
                </tr>
                <tr>
                    <td>性别</td>
                    <td><input type="radio" name="sex" value="男"/><input type="radio" name="sex" value="女"/></td>
                </tr>
    
                <tr>
    
                    <td>年龄</td>
                    <td><input type="checkbox" name="age" id="age" value="17"/>17岁
                        <input type="checkbox" name="age" id="age" value="18"/>18岁
                        <input type="checkbox" name="age" id="age" value="19"/>19岁
                        <input type="checkbox" name="age" id="age" value="20"/>20岁
                    </td>
                </tr>
    
                <tr>
    
                    <td>家庭住址</td>
                    <td><select id="address" name="address">
                            <option value="">请选择您的居住区域</option>
                            <option value="上海">上海</option>
                            <option value="广州">广州</option>
                            <option value="北京">北京</option>
                        </select></td>
                </tr>
                <tr>
                    <td>特长爱好</td>
                    <td><textarea id="hobby" name="hobby" rows="5" cols="30">
    </textarea></td>
                </tr>
                <tr>
                    <td><input type="submit" value="保存"/>  </td>
                    <td><input type="reset" value="重置"/>  </td>
                </tr>
            </table>
        </form>
    </center>
    </body>
    </html>

    ex02c.php

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>用户信息</title>
    </head>
    <body>
    <?php
    session_start();
    // .连接数据库
    try {
        $pdo = new PDO("mysql:host=localhost;dbname=test;", "root", "root");
    } catch (PDOException $e) {
        die("数据库连接失败" . $e->getMessage());
    }
    // .防止中文乱码
    $pdo->query("SET NAMES 'UTF8'");       // .拼接sql语句,取出信息
    $sql = "SELECT * FROM stu WHERE name =".$_SESSION['name'];
    
    $stmt = $pdo->query($sql);//返回预处理对象
    if ($stmt->rowCount() > 0) {
        $stu = $stmt->fetch(PDO::FETCH_ASSOC);
    }
    ?>
    <h2 style="color: #24fa26;text-align: center">您的个人资料如下</h2>
    <hr color="red">
    <div align="center">
        <H3 style="font-size: 25px">学生个人信息表</H3>
        <table border="1">
            <tr>
                <td>您的姓名:</td>
                <td><input  id="name" name="name" value="<?php echo $stu['name'] ?>"/></td>
            </tr>
    
            <tr>
                <td>性别:</td>
                <td><input type="text" name="sex" value="<?php echo $stu['sex'] ?>"/>
                </td>
            </tr>
            <tr>
                <td>年龄:</td>
                <td><input name="age" value="<?php echo $stu['age'] ?>"/>
    
                </td>
            </tr>
            <tr>
                <td>家庭住址:</td>
                <td><input name="address" value="<?php echo $stu['address'] ?>"/>
                </td>
            </tr>
            <tr>
                <td>特长爱好:</td>
                <td><input name="sex" value="<?php echo $stu['hobby'] ?>"/>
    
                </td>
            </tr>
            <tr>
                <td colspan="2">
                    <a href='ex02d.php?id=<?php echo $stu['id'] ?>'>修改</a>
                    <a href='act02.php?action=del&id=<?php echo $stu['id'] ?>'>删除</a>
                </td>
            </tr>
        </table>
        <a style="align-self: center" href="ex02a.php">返回首页</a>
    </div>
    
    
    </body>
    </html>

    ex02d.php

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>修改信息</title>
    </head>
    <body>
    <hr color="red">
    <div align="center">
        <H3 style="font-size: 25px">修改信息</H3>
        <form action="act02.php?action=edit&id=<?php echo $_GET['id'] ?>" method="post">
        <table border="1">
            <tr>
                <td>您的姓名:</td>
                <td><input   type="text" id="name" name="name" /></td>
            </tr>
    
            <tr>
                <td>性别:</td>
                <td><input type="text" name="sex"/>
                </td>
            </tr>
            <tr>
                <td>年龄:</td>
                <td><input type="checkbox" name="age" id="age" value="17"/>17岁
                    <input type="checkbox" name="age" id="age" value="18"/>18岁
                    <input type="checkbox" name="age" id="age" value="19"/>19岁
                    <input type="checkbox" name="age" id="age" value="20"/>20岁
                </td>
            </tr>
            <tr>
                <td>家庭住址:</td>
                <td><input  type="text" name="address"/>
                </td>
            </tr>
            <tr>
                <td>特长爱好:</td>
                <td><input type="text" name="sex"/>
    
                </td>
            </tr>
            <tr>
                <td colspan="2">
                    <input type="submit" value="提交">
                </td>
            </tr>
        </table>
        </form>
    </div>
    
    
    </body>
    </html>

    act02.php

    <?php
    session_start();
    //操作数据库
    try {
        //利用PDO类访问数据库
        $pdo = new PDO("mysql:host=localhost;dbname=test;", "root", "root");
    } catch (PDOException $e) {
        die("数据库连接失败" . $e->getMessage());
    }
    
    $pdo->query("SET NAMES 'UTF8'");
    switch ($_GET['action']) {
        //登录
        case 'login':
        {
            $name = $_POST['name'];
            $sex = $_POST['sex'];
            $str = "";
            if ($sex == '女')
                $str = $name . ' 小姐';
            else
                $str = $name . ' 先生';
            $_SESSION['msg'] = $str;
            $sql = "SELECT *FROM stu WHERE NAME ='{$name}'";
            //查找出结果进入ex02c.php
            $stmt = $pdo->query($sql);//返回预处理对象
            if($stmt->rowCount()> 0 ){
                $stu = $stmt->fetch(PDO::FETCH_ASSOC);//按照关联数组进行解析
                //ex0c通过id查询信息
                $_SESSION['id']=$stu['id'];
                echo "<script>
    
                window.location='ex02c.php' </script>";
            } else {
                echo "<script>window.location='ex02b.php'</script>";
            }
            break;
    
        }
    
    
        //添加
        case 'add':
            {
                $name = $_POST['name'];
                $sex = $_POST['sex'];
                $hobby = $_POST['hobby'];
                $address = $_POST['address'];
                $age = $_POST['age'];
                $_SESSION['name']=$name;
                $sql = "INSERT INTO stu VALUES (NULL ,'{$sex}','{$name}','{$age}','{$address}','{$hobby}')";
                $rw = $pdo->exec($sql);
                if ($rw > 0) {
                    echo "<script> alert('您的资料保存成功');
                                   window.location='ex02c.php'; //跳转
                        </script>";
                } else {
                    echo "<script> alert('增加失败');
                                   window.history.back(); //返回上一页
                        </script>";
                }
            }
            break;
    
        case 'del':
        {
            $id = $_GET['id'];
            $sql = "DELETE FROM stu WHERE id='{$id}'";
            $rw = $pdo->exec($sql);
            if ($rw > 0) {
                echo "<script> alert('数据删除成功!');
                                   window.location='ex02b.php'; //跳转
                        </script>";
            } else {
                echo "<script> alert('数据删除失败!');
                                   window.history.back(); //返回上一页
                        </script>";
            }
    
            break;
    
        }
    
    
        case edit:
        {
            $id = $_POST['id'];
            $name = $_POST['name'];
            $sex = $_POST['sex'];
            $hobby = $_POST['hobby'];
            $address = $_POST['address'];
            $age = $_POST['age'];
            $sql = "UPDATE stu SET name='{$name}',sex='{$sex}',age='{$age}',address='{$address}',hobby='{$hobby}' WHERE id='{$id}'";
            $rw = $pdo->exec($sql);
            if ($rw > 0) {
                echo "<script>alert('修改成功');window.location='ex01b.php'</script>";
            } else {
                echo "<script>alert('修改失败');window.history.back()</script>";
            }
            break;
        }
    }

    实验结果截图

     

  • 相关阅读:
    Objective
    ios 贝塞尔画图
    M端的飞行宝石代码(启发性代码)
    T端单机定时间随机召唤生物的脚本
    T端升级宝石
    Xcode中如何屏蔽某个源文件的编译警告信息
    xcode合并模拟器和真机静态库的编译
    layoutSubviews setNeedsDisplay
    限制只能输入数字字母
    正确使用Block避免Cycle Retain和Crash
  • 原文地址:https://www.cnblogs.com/ywqtro/p/13155189.html
Copyright © 2020-2023  润新知