php实现留言板功能

  这个小小的留言板功能适合班级内或者公司内部之间的讨论,对话和留言,非常的方便,更重要的是无需网络,对于公司管理层来说是非常乐于常见的,

下面是这个留言板的写法:

1 首先是登录页面:

 1 <form action="chuli.php" method="post">
 2     <div style="margin-left: 500px; margin-top: 200px;
 3      height: 250px; width: 250px">/*为了把登录表放到页面中间,比较美观*/
 4         <h1>公司内部留言板</h1>
 5     <div style="margin-top: 20px">用户名:<input type="text" name="username"/></div><br/>
 6     <div>&nbsp;&nbsp;&nbsp;码:<input type="password" name="password"/></div><br/>
 7     <div><input type="submit" value="登录"/></div>
 8     </div>
 9 
10 </form>

2 登录页面完成后要进入登录处理页面了,也就是上面提交到的chuli.php

 1 <?php
 2 session_start(); // 登录之后要把所包含登录的页面连接起来,开启session
 3 include("DADB.class.php");
 4 
 5 $db=new DADB();
 6 
 7 $user=$_POST["username"];
 8 $pwd=$_POST["password"];
 9 
10 $sql="select password from yuangong where username='{$user}'";
11 
12 $arr=$db->Query($sql);
13 
14 if($arr[0][0]==$pwd && !empty($pwd))
15 {
16     $_SESSION["username"]=$user;
17     header("location:main.php");
18 }
19 else
20 {
21     echo"登录失败";
22 }
23 
24 ?>

如图所示,是登录页面

3.登录完成后是进入主页面,也就是显示自己收到的对话内容,下面是设计的数据库的表格和主页面的代码:

<body>
<div><h3><a href="fabu.php">发布信息</a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <a href="tuichu.php">退出系统</a></h3> </div>
<br/><br/>
<h2>留言信息:</h2>

<table cellpadding="0" cellspacing="0" border="1" width="60%">
    <tr>
        <td>发送人</td>
        <td>接收人</td>
        <td>发送时间</td>
        <td>信息内容</td>
    </tr>
    <?php
    session_start();
    if(empty($_SESSION["username"]))
    {
        header("location:login.php");
    }
    $user=$_SESSION["username"];

    include("DADB.class.php");
    $db=new DADB();
    $sql="select * from liuyan where recever='$user' or recever='all' ";

    $arr=$db->Query($sql);
    foreach($arr as $v)
    {   $fjr=uname($v[1]);
        $jsr=uname($v[2]);
        echo"<tr>
        <td>{$fjr}</td> //发送人和接收人要用到姓名,所以这里我们调用了一个方法
        <td>{$jsr}</td>
        <td>{$v[3]}</td>
        <td>{$v[4]}</td>
    </tr>";
    }
    function uname($user)   //运用了uname方法
    {
        global $db;      //要想方法里面也可以用$db 这里用了全局变量
        if($user=="all")
       {
        return "所有人";
       }else
    {
        $sql1="select name from yuangong where username='{$user}'";
        $att=$db->Query($sql1);
        return $att[0][0];}
    }
    ?>

</table>
</body>

4代码写到这里,比较重要的部分就完成了,下面是要进入发布信息页面了,相当于之前写的添加的页面,其处理页面也是和之前没什么区别的,差别在于现在的处理页面是在用户登录的情况下操作的,需要用session把所有的登录情况下的页面连接起来

 1 <h1>发布信息</h1>
 2 <a href="main.php">主页面</a>
 3 <br />
 4 <br />
 5 
 6 <?php
 7 session_start();
 8 if(empty($_SESSION["username"]))
 9 {
10     header("location:login.php");
11     exit;
12 }
13 
14 $user = $_SESSION["username"];
15 
16 include("DADB.class.php");
17 $db = new DADB();
18 
19 $shaoyou = "select * from firend where me='{$user}'";
20 $ahaoyou = $db->Query($shaoyou);
21 
22 ?>
23 
24 <form action="fabuchuli.php" method="post">
25     <div>接收人:
26         <select name="jsr">
27             <option value="all">所有人</option>
28             <?php
29             foreach($ahaoyou as $v)
30             {
31                 $name = uname($v[2]);
32                 echo "<option value='{$v[2]}'>{$name}</option>";
33             }
34             ?>
35         </select>
36     </div>
37     <br />
38     <div>
39         信息内容:<textarea name="neirong"></textarea>
40     </div><br />
41     <input type="submit" value="发送" />
42 </form>
43 <?php
44 function uname($user)
45 {
46     global $db;
47 
48     if($user=="all")
49     {
50         return "所有人";
51     }
52     else
53     {
54         $sql1 = "select name from yuangong where username='{$user}'";
55         $att = $db->Query($sql1);
56 
57         return $att[0][0];
58     }
59 }
60 ?>
61 </body>
//这是发布页面的代码  和添加页面的代码相似
<?php

<?php
session_start();

$re=$_POST["jsr"];
$comment=$_POST["neirong"];
$time=date("Y-m-d H:i:s"); //获取当前时间

$_SESSION["username"]=$user;

include("DADB.class.php");
$db=new DADB();


$sql="insert into liuyan VALUES ('','{$user}','{$jsr}','{$time}','{$comment}',false)";

if($db->Query($sql,0))
{

        header("location:main.php");
}
else{
    echo"发布失败";
}
?>
?>

一个简单的留言板已经完成了,退出的时候需要清除session 并且返回到登录页面 

//退出页面代码
<?php
session_start();
unset($_SESSION["username"]);
header("location:login.php");

?>

 

转载于:https://www.cnblogs.com/xiaodouding/p/6504728.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现留言板功能需要以下步骤: 1. 创建数据库和数据表 首先需要在 MySQL 中创建一个数据库,然后在该数据库中创建一个名为 messages 的数据表,该数据表包含以下字段:id (主键,自增), name, email, message, datetime, 和 image。 2. 创建留言板页面 创建一个留言板页面,该页面包含一个表单,让用户输入姓名、电子邮件地址、留言内容和上传图片。 3. 处理表单提交 当用户提交表单时,需要获取表单中的数据,并将其插入到 messages 数据表中。同时,还需要将上传的图片保存到服务器上,并将图片的文件名保存到数据库中。 4. 显示留言列表 从 messages 数据表中获取所有留言,并在页面上按照时间顺序进行显示。同时,还需要将与每条留言相关联的图片文件名从数据库中获取,并在页面上显示相应的图片。 下面是一个简单的示例代码,实现留言板的基本功能: ```php <?php // 连接 MySQL 数据库 $conn = mysqli_connect("localhost", "username", "password", "database"); // 处理表单提交 if ($_SERVER["REQUEST_METHOD"] == "POST") { // 获取表单数据 $name = $_POST["name"]; $email = $_POST["email"]; $message = $_POST["message"]; $datetime = date("Y-m-d H:i:s"); // 处理上传的图片 $image = ""; if (isset($_FILES["image"]) && $_FILES["image"]["error"] == 0) { // 将图片保存到服务器上 $target_dir = "uploads/"; $target_file = $target_dir . basename($_FILES["image"]["name"]); move_uploaded_file($_FILES["image"]["tmp_name"], $target_file); // 将图片文件名保存到数据库中 $image = basename($_FILES["image"]["name"]); } // 插入数据到数据库中 $sql = "INSERT INTO messages (name, email, message, datetime, image) VALUES ('$name', '$email', '$message', '$datetime', '$image')"; mysqli_query($conn, $sql); } // 获取所有留言 $sql = "SELECT * FROM messages ORDER BY datetime DESC"; $result = mysqli_query($conn, $sql); // 显示留言列表 while ($row = mysqli_fetch_assoc($result)) { echo "<div>"; echo "<h3>" . $row["name"] . "</h3>"; echo "<p>" . $row["message"] . "</p>"; if ($row["image"] != "") { echo "<img src='uploads/" . $row["image"] . "' />"; } echo "<p>" . $row["datetime"] . "</p>"; echo "</div>"; } ?> <!-- 显示留言板表单 --> <form method="post" enctype="multipart/form-data"> <label>Name:</label> <input type="text" name="name" required /><br /> <label>Email:</label> <input type="email" name="email" required /><br /> <label>Message:</label> <textarea name="message" required></textarea><br /> <label>Image:</label> <input type="file" name="image" /><br /> <button type="submit">Submit</button> </form> ``` 需要注意的是,上述代码中的数据库连接信息和文件上传目录需要根据实际情况进行修改。此外,在处理表单数据时需要进行安全过滤,以防止 SQL 注入和文件上传漏洞。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值