php+mysql实现留言板

文章目录


1、写出留言板的html代码
2、连接mysql的代码
3、利用bootstrap来美化留言板

1、我的html代码为


<html>
<head>
    <meta charset='utf-8'>
    <title>留言板</title>
    <style>
        .a{ width:100%;
            margin:0 auto;
        }
        textarea{
            width: 100%;
            height:100px;
            margin-bottom:10px;        }
         .b{
            border:  solid 1px #28e7d7;margin-top:10px; padding:5px;
         } 
         .u{
            float:left;
        } 
          .s{
            float:right;
        }
    </style>
        
</head>
<body>
     <div calss='a'>
     <form action="db.php" method="POST">
        <textarea name='content'></textarea>
        <input name='username'  type='text'/>
        <input class='s'type='submit'  value='提交'/>
        <div style='clear:both;'></div> 
    </div>
    </form>
    <div class='a'>
        <?php
        foreach ($rows as $key => $test) {
        ?>
        <div class='b'>
            <p><?php echo $test['username'];?></p>
            <p><?php echo $test['content'];?></p>
        
        </div > 
        <?php
         }
        ?>    
    </div>
</body>
</html>

2、连接mysql的代码

<?php
 $username=$_POST['username'];
 $content=$_POST['content']; 
 var_dump($username,$content);// 检验传来的数据是否有误
$dsn='mysql:dbname=quan;host=localhost';
$pdo=new PDO($dsn,'root','root');// 上一行以及这一行是连接数据库
$sql="INSERT INTO test (username,content) VALUES
('{$username}','{$content}')";// 插入语句到test表中,数值为values后的两个
//  echo $sql;//检验是否可以输出
$sth=$pdo->prepare($sql);// 准备执行
//  var_dump($sql);
$sth->execute();// 执行
header('location:index.php');//完成上述操作后回到留言板界面
?> 

扩充:trim函数(自动删除代码之中的空格键)
在这里插入图片描述

3、利用bootstrap美化
这里是链接
这是之后的代码(其中我将公用连接mysql的代码单独放置于一文件中,如果不理解,可以观看编程狮十天学会php)来了解
下面分别是留言板界面和数据库语句界面

<?php
include('7.php');
$sql = "SELECT * FROM `test` ORDER BY  id DESC";
$rows=read($pdo, $sql);
?>
<!doctype html>
<html lang="en">

<head>
  <!-- Required meta tags -->
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

  <!-- Bootstrap CSS -->
  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">

  <title>留言板</title>
</head>

<body>
  <div class="container">
    <div class="jumbotron">
      <h1 class="display-4">留言板</h1>
      <p class="lead">这里是留言区,请大家提出自己的意见</p>
    </div>
    <form action="db.php" method="POST">
      <div class='row'>
        <div class='col-12'>
          <div class='form-group'>
            <textarea name='content' class="form-control" rows='4'></textarea>
          </div>
        </div>
        <div class='col-3'>
          <div class='form-group'>
            <input name='username' class='form-control' type='text' />
          </div>
        </div>
        <div class='col-9 d-flex'>
          <div class="form-group ml-auto">
            <input class='btn btn-primary' type='submit' value='提交' />
          </div>
        </div>
      </div>
    </form>
    <div class='row'>
      <?php
      foreach ($rows as $key => $tesy) {
      ?>
        <div class='col-12'>
          <div class='border rounded p-2 mb-2'>
            <div class='text-primary'>
              <p><?php echo $tesy['username']; ?></p>
            </div>
            <div>
              <p><?php echo $tesy['content']; ?></p>
            </div>
          </div>
        </div>
      <?php
      }
      ?>
    </div>
  </div>
</body>

</html>

数据库界面(上述代码中7.php为下面代码的文件名)

<?php
$dsn='mysql:dbname=test;host=127.0.0.1';
$pdo=new PDO($dsn,'root','root');

function write($pdo,$sql){
$sth=$pdo->prepare($sql);
return $sth->execute();
}

function read($pdo,$sql){
$sth=$pdo->prepare($sql);
$sth->execute();
$rows=$sth->fetchAll();
return $rows;
}
?>

实现效果
在这里插入图片描述
在这里插入图片描述
下面与我自己的代码界面进行对比(7.php不再写,与上面一致)

<?php
    include('7.php');
    $sql="SELECT * FROM `test` ORDER BY  id DESC";
    $sth= $pdo->prepare($sql);
    $sth->execute();
    $rows=$sth->fetchAll();
?>
<html>
<head>
    <meta charset='utf-8'>
    <title>留言板</title>
    <style>
        .a{ width:100%;
            margin:0 auto;
        }
        textarea{
            width: 100%;
            height:100px;
            margin-bottom:10px;        }
         .b{
            border:  solid 1px #28e7d7;margin-top:10px; padding:5px;
         } 
         .u{
            float:left;
        } 
          .s{
            float:right;
        }
    </style>
        
</head>
<body>
     <div calss='a'>
     <form action="db.php" method="POST">
        <textarea name='content'></textarea>
        <input name='username'  type='text'/>
        <input class='s'type='submit'  value='提交'/>
        <div style='clear:both;'></div> 
    </div>
    </form>
    <div class='a'>
        <?php
        foreach ($rows as $key => $test) {
        ?>
        <div class='b'>
            <p><?php echo $test['username'];?></p>
            <p><?php echo $test['content'];?></p>
        
        </div > 
        <?php
         }
        ?>    
    </div>
</body>
</html>

输出结果
在这里插入图片描述
在这里插入图片描述
可见bootstarp对于我这种无想象力的小白作用是非常之大的,大家也可以借鉴bootstarp来美化自己的界面

  • 8
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
制作留言可以分为以下步骤: 1. 创建一个 MySQL 数据库,包含一个留言表 可以使用以下 SQL 语句创建一个名为 `message_board` 的数据库,并在其中创建一个名为 `messages` 的表: ```mysql CREATE DATABASE message_board; USE message_board; CREATE TABLE messages ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, name VARCHAR(30) NOT NULL, message TEXT NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); ``` 这个表包含四个字段:`id` 、`name` 、`message` 和 `created_at` 。其中 `id` 是自增长的主键,`name` 是留言者的姓名,`message` 是留言内容,`created_at` 是留言的时间戳。 2. 创建一个 PHP 页面来显示留言 可以使用以下 HTML 和 PHP 代码来创建一个显示留言的页面: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>留言</title> </head> <body> <h1>留言</h1> <form action="add_message.php" method="post"> <label for="name">姓名:</label> <input type="text" name="name" id="name"><br><br> <label for="message">留言:</label> <textarea name="message" id="message" cols="30" rows="10"></textarea><br><br> <input type="submit" value="提交"> </form> <h2>留言列表</h2> <?php // TODO: 显示留言列表 ?> </body> </html> ``` 这个页面包含一个表单,用于提交新的留言,并且有一个占位符,用于显示留言列表。 3. 创建一个 PHP 页面来处理添加留言的请求 可以使用以下 PHP 代码来创建一个处理添加留言请求的页面 `add_message.php` : ```php <?php // 连接数据库 $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "message_board"; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } // 处理 POST 请求 $name = $_POST["name"]; $message = $_POST["message"]; $sql = "INSERT INTO messages (name, message) VALUES ('$name', '$message')"; if ($conn->query($sql) === TRUE) { echo "留言成功!"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } $conn->close(); ?> ``` 这个页面首先连接到 MySQL 数据库,并从 `$_POST` 中获取留言者的姓名和留言内容。然后,它向 `messages` 表中插入一条新的留言记录。 4. 创建一个 PHP 页面来显示留言列表 可以使用以下 PHP 代码来创建一个显示留言列表的页面: ```php <?php // 连接数据库 $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "message_board"; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } // 查询留言列表 $sql = "SELECT * FROM messages ORDER BY created_at DESC"; $result = $conn->query($sql); if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { echo "<p>" . $row["name"] . " 于 " . $row["created_at"] . " 留言:</p>"; echo "<p>" . $row["message"] . "</p>"; echo "<hr>"; } } else { echo "暂无留言。"; } $conn->close(); ?> ``` 这个页面首先连接到 MySQL 数据库,并查询 `messages` 表中的所有记录。然后,它以逆序方式遍历结果集,并将每条留言显示为一个段落。最后,它关闭数据库连接。 5. 将所有页面整合到一起 现在,你可以将所有页面整合到一起,并将它们放在同一个目录下。你可以在浏览器中访问这个目录,就可以看到留言了。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值