实验四 PHP 操作数据库

2022/5/28 2:19:32

本文主要是介绍实验四 PHP 操作数据库,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

(1) 建立一个登陆页面 ex02a.php,如图 5 所示。

 

 

图 5

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

ex02c.php。

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

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

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

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

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

(8) 在表格的最下方建立“修改”和“删除”超链接,当点击“修改”时,可将网页连接到 ex02d.php 修改学生信息的页面,当点击“删除”时,如果能成功删除数据,则给出提示“数据删除成功!”,如图 8 所示,并将网页转至 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;
    }
}

 



这篇关于实验四 PHP 操作数据库的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程