php实现留言板功能

 更新时间:2017年3月12日 22:11  点击:1949

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

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

1 首先是登录页面:

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

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

<?php
session_start(); // 登录之后要把所包含登录的页面连接起来,开启session
include("DADB.class.php");
$db=new DADB();
$user=$_POST["username"];
$pwd=$_POST["password"];
$sql="select password from yuangong where username='{$user}'";
$arr=$db->Query($sql);
if($arr[0][0]==$pwd && !empty($pwd))
{
 $_SESSION["username"]=$user;
 header("location:main.php");
}
else
{
 echo"登录失败";
}
?>

如图所示,是登录页面

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

<body>
<div><h3><a href="fabu.php" rel="external nofollow" >发布信息</a>       
 <a href="tuichu.php" rel="external nofollow" >退出系统</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把所有的登录情况下的页面连接起来

<h1>发布信息</h1>
<a href="main.php" rel="external nofollow" >主页面</a>
<br />
<br />
<?php
session_start();
if(empty($_SESSION["username"]))
{
 header("location:login.php");
 exit;
}
$user = $_SESSION["username"];
include("DADB.class.php");
$db = new DADB();
$shaoyou = "select * from firend where me='{$user}'";
$ahaoyou = $db->Query($shaoyou);
?>
<form action="fabuchuli.php" method="post">
 <div>接收人:
  <select name="jsr">
   <option value="all">所有人</option>
   <?php
   foreach($ahaoyou as $v)
   {
    $name = uname($v[2]);
    echo "<option value='{$v[2]}'>{$name}</option>";
   }
   ?>
  </select>
 </div>
 <br />
 <div>
  信息内容:<textarea name="neirong"></textarea>
 </div><br />
 <input type="submit" value="发送" />
</form>
<?php
function uname($user)
{
 global $db;
 if($user=="all")
 {
  return "所有人";
 }
 else
 {
  $sql1 = "select name from yuangong where username='{$user}'";
  $att = $db->Query($sql1);
  return $att[0][0];
 }
}
?>
</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");
?>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

[!--infotagslink--]

相关文章

  • 源码分析系列之json_encode()如何转化一个对象

    这篇文章主要介绍了源码分析系列之json_encode()如何转化一个对象,对json_encode()感兴趣的同学,可以参考下...2021-04-22
  • php中去除文字内容中所有html代码

    PHP去除html、css样式、js格式的方法很多,但发现,它们基本都有一个弊端:空格往往清除不了 经过不断的研究,最终找到了一个理想的去除html包括空格css样式、js 的PHP函数。...2013-08-02
  • index.php怎么打开?如何打开index.php?

    index.php怎么打开?初学者可能不知道如何打开index.php,不会的同学可以参考一下本篇教程 打开编辑:右键->打开方式->经文本方式打开打开运行:首先你要有个支持运行PH...2017-07-06
  • PHP中func_get_args(),func_get_arg(),func_num_args()的区别

    复制代码 代码如下:<?php function jb51(){ print_r(func_get_args()); echo "<br>"; echo func_get_arg(1); echo "<br>"; echo func_num_args(); } jb51("www","j...2013-10-04
  • PHP编程 SSO详细介绍及简单实例

    这篇文章主要介绍了PHP编程 SSO详细介绍及简单实例的相关资料,这里介绍了三种模式跨子域单点登陆、完全跨单点域登陆、站群共享身份认证,需要的朋友可以参考下...2017-01-25
  • PHP实现创建以太坊钱包转账等功能

    这篇文章主要介绍了PHP实现创建以太坊钱包转账等功能,对以太坊感兴趣的同学,可以参考下...2021-04-20
  • php微信公众账号开发之五个坑(二)

    这篇文章主要为大家详细介绍了php微信公众账号开发之五个坑,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2016-10-02
  • ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单

    首先是数据库的设计。分类表叫cate.我做的是分类数据的二级联动,数据需要的字段有:id,name(中文名),pid(父id). 父id的设置: 若数据没有上一级,则父id为0,若有上级,则父id为上一级的id。数据库有内容后,就可以开始写代码,进...2014-05-31
  • PHP如何通过date() 函数格式化显示时间

    这篇文章主要介绍了PHP如何通过date() 函数格式化显示时间,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-11-13
  • PHP+jQuery+Ajax实现多图片上传效果

    今天我给大家分享的是在不刷新页面的前提下,使用PHP+jQuery+Ajax实现多图片上传的效果。用户只需要点击选择要上传的图片,然后图片自动上传到服务器上并展示在页面上。...2015-03-15
  • golang与php实现计算两个经纬度之间距离的方法

    这篇文章主要介绍了golang与php实现计算两个经纬度之间距离的方法,结合实例形式对比分析了Go语言与php进行经纬度计算的相关数学运算技巧,需要的朋友可以参考下...2016-07-29
  • PHP正则表达式过滤html标签属性(DEMO)

    这篇文章主要介绍了PHP正则表达式过滤html标签属性的相关内容,实用性非常,感兴趣的朋友参考下吧...2016-05-06
  • php构造方法中析构方法在继承中的表现

    这篇文章主要为大家详细介绍了php构造方法中析构方法在继承中的表现,感兴趣的小伙伴们可以参考一下...2016-04-15
  • thinkPHP中多维数组的遍历方法

    这篇文章主要介绍了thinkPHP中多维数组的遍历方法,以简单实例形式分析了thinkPHP中foreach语句的使用技巧,需要的朋友可以参考下...2016-01-12
  • PHP如何使用cURL实现Get和Post请求

    这篇文章主要介绍了PHP如何使用cURL实现Get和Post请求,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-07-11
  • 谈谈PHP中相对路径的问题与绝对路径的使用

    经常看到有人踩在了PHP路径的坑上面了,感觉有必要来说说PHP中相对路径的一些坑,以及PHP中绝对路径的使用,下面一起来看看。 ...2016-08-24
  • php图片添加文字水印实现代码

    这篇文章主要为大家详细介绍了php图片添加文字水印实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2016-03-17
  • php有序列表或数组中删除指定的值的实现代码

    这篇文章主要介绍了php有序列表或数组中删除指定的值的实现代码,删除给定的值之后,得到一个新的有序列表,长度-1,下面是具体的实现方法...2021-08-22
  • PHP简单实现生成txt文件到指定目录的方法

    这篇文章主要介绍了PHP简单实现生成txt文件到指定目录的方法,简单对比分析了PHP中fwrite及file_put_contents等函数的使用方法,需要的朋友可以参考下...2016-04-28
  • php判断邮箱地址是否存在的方法

    这篇文章主要介绍了php判断邮箱地址是否存在的方法,php判断邮箱地址是否存在的方法有两种,感兴趣的朋友可以参考一下...2016-02-18