php的简单留言板功能
留言板需要有发送者和接受者,发送者登录后发送信息,接受者登录后可以查看留言内容,留言内容只能看发给自己的或发给所有人的。这里要用到三张表:
yuangong表:
firend表
liuyan表
首先我们要做一个登陆页面:
代码如下:
<h1>开发部内部留言板</h1> <form action="cl.php" method="post"> <div>用户名:<input type="text" name="username" /></div><br /> <div>口令:<input type="password" name="password" /></div><br /> <input type="submit" value="登录" /> <input type="reset" value="复位" /> </form>
处理页面:
<?php session_start();//开启会话控制 $username= $_POST["username"]; $password= $_POST["password"]; require "DBDA.class.php"; $db= new DBDA(); $sql="select password from yuangong where username='{$username}'"; $arr=$db->query($sql); if(count($arr)) { if($arr[0][0]==$password && !empty($password))//判断用户名和密码是否匹配 { $_SESSION["username"]= $username; header("location:zhu.php"); } }
主页面:
代码如下:
<a href="fb.php">发布信息</a> <a href="tuichu.php">退出系统</a><br /> <h1>留言信息</h1> <table width="100%" border="1" cellpadding="0" cellspacing="0"> <tr> <td>发送人</td> <td>发送时间</td> <td>接收人</td> <td>信息内容</td> </tr> <?php session_start(); if(empty($_SESSION["username"])) { header("location:deng.php"); exit;//判断用户是否存在 } $username=$_SESSION["username"];//存储用户名 require "DBDA.class.php"; $db= new DBDA(); $sql= "select * from liuyan where recever='{$username}' or recever='all'";//显示接受者是我或所有人 $arr= $db->query($sql); foreach($arr as $v) { echo "<tr> <td>{$v[1]}</td> <td>{$v[3]}</td> <td>{$v[2]}</td> <td>{$v[4]}</td> </tr>"; } ?> </table>
写留言页面:
代码如下:
<?php session_start(); if(empty($_SESSION["username"])) { header("location:deng.php");//若用户名为空,返回登录页面 } $username=$_SESSION["username"]; //获取发送者 require "DBDA.class.php"; $db=new DBDA(); ?> <a href="zhu.php">察看信息</a> <a href="tuichu.php">退出系统</a><br /> <h3>信息发送</h3> <form action="fbcl.php" method="post"> <div>接收人: <select name="recever"> <option value="all">所有人</option> <?php $sql="select name from yuangong where username='{$username}'"; $arr=$db->query($sql); $arr[0][0]; $sql1="select firend from firend where me='{$arr[0][0]}'";//从员工表读出的不一定是好友,所以必须从好友表中查询 $r=$db->query($sql1); foreach($r as $v) { //$v[0]; //var_dump($v[0]); echo "<option value='{$v[0]}'>{$v[0]}</option>"; } ?> </select> </div><br /> <div>信息内容:<textarea name="comment"></textarea></div><br /> <input type="submit" value="发送" /> <input type="reset" value="复位" /> </form>
发布处理页面:
<?php session_start(); $sender=$_SESSION["username"]; $recever = $_POST["recever"]; $comment = $_POST["comment"]; $times = date("Y-m-d H-i-s"); echo"$times"; require "DBDA.class.php"; $db= new DBDA(); $sql= "insert into liuyan values ('','{$sender}','{$recever}','{$times}','{$comment}','')"; $arr=$db->query($sql,0); if($arr) { header("location:fb.php"); } else { echo "发送失败"; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】