Top

  1. PHP 表单
  2. PHP 表单验证
  3. PHP Cookie 和 Session
  4. MySQLi 的使用

1 PHP 表单

1.1 问题

设计登录表单页面,提交方式 post 方式,接收并显示用户输入数据

1.2 步骤

实现此案例需要按照如下步骤进行。

在 phpStudy 的安装目录下,找到 WWW 子目录,.html、.php 文件位置要在该目录下。

1)创建 login.html 文件, 文件内容如下:

  1. 1. <!DOCTYPE html>
  2. 2. <head>
  3. 3. <meta charset="UTF-8">
  4. 4. <title>用户登录</title>
  5. 5. </head>
  6. 6. <body>
  7. 7. <form action="login.php" method="post">
  8. 8. <p>
  9. 9. 用户名:<input type="text" name="name" id="name">
  10. 10. </p>
  11. 11. <p>
  12. 12. 密码:<input type="password" name="password" id="password">
  13. 13. </p>
  14. 14. <p>
  15. 15. <input type="submit" value="登录">
  16. 16. </p>
  17. 17. </form>
  18. 18. </body>
  19. 19. </html>

2)创建 login.php,文件内容如下

  1. 1. <?php
  2. 3. header("Content-type: text/html; charset=utf-8");
  3. 5. echo "name=".$_POST\['name'\]."password=".$_POST\['password'\]."<br>";
  4. 6. ?>

3)打开浏览器,在地址栏输入相应的 url,回车。可以看到如下结果

CASE - 图1

图 - 1

2 PHP 表单验证

2.1 问题

设计如图所示表单,要求进行验证处理,并输出用户数据

CASE - 图2

图 - 2

2.2 步骤

1)创建文件 form.php

2)编写文件内容如下:

3 PHP Cookie 和 Session

3.1 问题

设计登录表单页面,使用 Session 记录登录用户信息。

3.2 步骤

1)创建文件 login2.html,完成登录界面设计,文件内容如下:

  1. 1. <!DOCTYPE html>
  2. 2. <head>
  3. 3. <meta charset="UTF-8">
  4. 4. <title>用户登录</title>
  5. 5. </head>
  6. 6. <body>
  7. 7. <form action="session.php" method="post">
  8. 8. <p>
  9. 9. 用户名:<input type="text" name="name" id="name">
  10. 10. </p>
  11. 11. <p>
  12. 12. 密码:<input type="password" name="password" id="password">
  13. 13. </p>
  14. 14. <p>
  15. 15. <input type="submit" value="登录">
  16. 16. </p>
  17. 17. </form>
  18. 18. </body>
  19. 19. </html>

2)创建 session.php 文件,完成登录验证,并将用户信息写入 session。

  1. 1. <?php
  2. 3. session_start();
  3. 5. header("Content-type: text/html; charset=utf-8");
  4. 7. $name = $_POST\['name'\];
  5. 8. $password = $_POST\['password'\];
  6. 9. if ($name=="tedu"&&$password=="123456"){
  7. 10. $_SESSION\["admin"\] = 1;
  8. 11. echo "用户登录成功<br>";
  9. 12. }else{
  10. 13. echo "用户名或密码错误<br>";
  11. 14. }
  12. 16. ?>

3)创建 manage.php, 根据 session 判断是否可以执行管理员操作

  1. 1. <?php
  2. 3. session_start();
  3. 5. header("Content-type: text/html; charset=utf-8");
  4. 7. if(isset($_SESSION\['admin'\])){
  5. 8. echo "你可以去做管理员操作<br>";
  6. 9. }else{
  7. 10. echo "您没有权限做管理操作<br>";
  8. 11. }
  9. 13. ?>

4)创建 logout.php, 完成用户注销操作

  1. 1. <?php
  2. 3. session_start();
  3. 5. header("Content-type: text/html; charset=utf-8");
  4. 7. if(isset($_SESSION\['admin'\])){
  5. 8. unset($_SESSION\['admin'\]);
  6. 9. session_destroy();
  7. 10. }
  8. 11. echo "用户注销成功<br>";
  9. 12. ?>

4 MySQLi 的使用

4.1 问题

使用 MYSQLi 完成对图书信息的增删改查。

4.2 步骤

1)创建文件 add_book.php, 用于完成添加图书。代码如下:

  1. 1. <?php
  2. 2. header("content-type:text/html;charset=utf-8");
  3. 3. $servername="localhost";
  4. 4. $username="root";
  5. 5. $password="root";
  6. 7. $conn=mysqli_connect($servername,$username,$password);
  7. 9. if(!$conn){
  8. 10. die("Connection failed: ".mysqli\_connect\_error());
  9. 11. }
  10. 12. echo "连接成功!<br>";
  11. 14. $sql = "use bookmgr;";
  12. 15. if ($conn->query($sql) === TRUE) {
  13. 16. echo "切换数据库成功!<br>";
  14. 17. } else {
  15. 18. echo "Error: " . $sql . "<br>" . $conn->error;
  16. 19. }
  17. 21. $sql = "INSERT INTO book (title, authorName, price,market_price,pubName)
  18. 22. VALUES ('c++语言基础', 'Tom', 40,50,'机械工业出版社')";
  19. 23. if ($conn->query($sql) === TRUE) {
  20. 24. echo "插入数据成功!<br>";
  21. 25. } else {
  22. 26. echo "Error: " . $sql . "<br>" . $conn->error;
  23. 27. }
  24. 28. ?>

2)创建文件 book_list.php, 用于完成查询图书。代码如下:

  1. 1. <?php
  2. 2. header("content-type:text/html;charset=utf-8");
  3. 3. $servername="localhost";
  4. 4. $username="root";
  5. 5. $password="root";
  6. 7. $conn=mysqli_connect($servername,$username,$password);
  7. 9. if(!$conn){
  8. 10. die("Connection failed: ".mysqli\_connect\_error());
  9. 11. }
  10. 12. echo "连接成功!<br>";
  11. 14. $sql = "use bookmgr;";
  12. 15. if ($conn->query($sql) === TRUE) {
  13. 16. echo "切换数据库成功!<br>";
  14. 17. } else {
  15. 18. echo "Error: " . $sql . "<br>" . $conn->error;
  16. 19. }
  17. 21. $sql = "SELECT * FROM book";
  18. 22. $result = $conn->query($sql);
  19. 23. if ($result->num_rows > 0) {
  20. 25. while($row = $result->fetch_assoc()) {
  21. 26. echo "id: " . $row\["id"\]. " \- 书名: " . $row\["title"\]. ", 出版社:" . $row\["pubName"\]. "<br>";
  22. 27. }
  23. 28. } else {
  24. 29. echo "0 结果";
  25. 30. }
  26. 31. $conn->close();
  27. 33. ?>

3)创建文件 update_book.php, 用于完成修改图书。代码如下:

  1. 1. <?php
  2. 2. header("content-type:text/html;charset=utf-8");
  3. 3. $servername="localhost";
  4. 4. $username="root";
  5. 5. $password="root";
  6. 7. $conn=mysqli_connect($servername,$username,$password);
  7. 9. if(!$conn){
  8. 10. die("Connection failed: ".mysqli\_connect\_error());
  9. 11. }
  10. 12. echo "连接成功!<br>";
  11. 14. $sql = "use bookmgr;";
  12. 15. if ($conn->query($sql) === TRUE) {
  13. 16. echo "切换数据库成功!<br>";
  14. 17. } else {
  15. 18. echo "Error: " . $sql . "<br>" . $conn->error;
  16. 19. }
  17. 21. $sql = "UPDATE BOOK SET market_price=55 where title='c++语言基础'";
  18. 23. if ($conn->query($sql) === TRUE) {
  19. 24. echo "修改数据成功!<br>";
  20. 25. } else {
  21. 26. echo "Error: " . $sql . "<br>" . $conn->error;
  22. 27. }
  23. 28. ?>

4)创建文件 del_book.php, 用于完成删除图书。代码如下:

  1. 1. <?php
  2. 2. header("content-type:text/html;charset=utf-8");
  3. 3. $servername="localhost";
  4. 4. $username="root";
  5. 5. $password="root";
  6. 7. $conn=mysqli_connect($servername,$username,$password);
  7. 9. if(!$conn){
  8. 10. die("Connection failed: ".mysqli\_connect\_error());
  9. 11. }
  10. 12. echo "连接成功!<br>";
  11. 14. $sql = "use bookmgr;";
  12. 15. if ($conn->query($sql) === TRUE) {
  13. 16. echo "切换数据库成功!<br>";
  14. 17. } else {
  15. 18. echo "Error: " . $sql . "<br>" . $conn->error;
  16. 19. }
  17. 21. $sql = "DELETE FROM BOOK where ID=5";
  18. 23. if ($conn->query($sql) === TRUE) {
  19. 24. echo "删除数据成功!<br>";
  20. 25. } else {
  21. 26. echo "Error: " . $sql . "<br>" . $conn->error;
  22. 27. }
  23. 28. ?>

https://tts.tmooc.cn/ttsPage/NTD/NTDTN202109/WEBBASE/DAY05/CASE/01/index.html