简单的PHP留言板制作

做基础的留言板功能  需要三张表:

员工表,留言表,好友表

首先造一个登入页面:

<form action="drcl.php" method="post">
<div>帐号:<input type="text" name="zhang"/></div>
<div>口令:<input type="text" name="mi"/></div>
<input type="submit" value="登入"/>
</form>

上图:

不多说,没毛病

然后来写处理页面:

<?php
session_start();
//session存储数据 include ("db.class.php");
//引用类
$db = new db();
//造方法
$zhang = $_POST["zhang"];
$mi = $_POST["mi"];
$sql = "select mi from yuangong WHERE zhang = '{$zhang}'";
$arr = $db->Query($sql);
if(!empty($mi)&&$mi = $arr &&!empty($zhang))
{
$_SESSION["zhang"] = $zhang;
//即将跳转页面之前,把帐号存到session里面
header("location:zym.php");
}
else
{
echo "登入失败了";
}
?>

正常的处理登入的页面只不过把账号存了一下session

登入上进入主页面

再来是主页面了:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>无标题文档</title>
</head>
<body>
<h1>留言板</h1>
<div><a href="fbym.php">发布信息</a></div>
<div><a href="ddrr.php" onclick=" return confirm('注销当前用户?')">注销登入</a></div>
<table border="1" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td>发件人</td>
<td>收件人</td>
<td>发布时间</td>
<td>内容</td>
</tr>
  <?php
session_start();
//存储数据 if(empty($_SESSION["zhang"]))
{
header("location:ddrr.php");
//防止输入网址进入
exit;
}
$zhang = $_SESSION["zhang"];
include ("../db.class.php");
$db = new db();
$sql = "select name from yuangong WHERE zhang = '{$zhang}'";
$attr = $db->Query($sql);
//取到登入的name
echo "<h5>欢迎你:{$attr[0][0]}</h5>";
//输出登入的name $sql = "select * from liuyan WHERE shou = '{$zhang}' or shou = 'all' ORDER BY times DESC ";
//条件!!我只看自己或所有人的
$arr = $db->Query($sql);
foreach ($arr as $v){
$shou = aname($v[2]);
$fa = aname($v[1]);
//用方法
echo "<tr>
<td>{$fa}</td>
<td>{$shou}</td>
<td>{$v[3]}</td>
<td>{$v[4]}</td>
</tr>";
}
//返回姓名
function aname($zhang)
{
global $db;
//设置全局变量!
if($zhang == "all")
{
//如果接收到的是all,显示:
return "所有人"; }
else
{
//如果是自己的,根据帐号查name
$sql = "select name from yuangong WHERE zhang ='{$zhang}' ";
$arr = $db->Query($sql);
//二维数组
return $arr[0][0];
}
}
?>
</table>

</body>
</html>

查找的条件即是只查自己的好友或者是all的所有人

还要注意一点便是要把调用的db设为全局变量

图:

留言板需要发布信息:

发布信息页面:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>无标题文档</title>
</head>
<body>
<h1>发布信息</h1>
<?php
session_start();
//存储数据 if(empty($_SESSION["zhang"]))
{
header("location:ddrr.php");
//防止输入网址进入
exit;
}
$zhang = $_SESSION["zhang"];
include ("../db.class.php");
$db = new db();
$shaoyou = "select * from firend WHERE me = '{$zhang}'";
$ahaoyou = $db->Query($shaoyou);
?>
<form action="fbcl.php" method="post">
<div>&nbsp;接收人:&nbsp;
<select name="shou">
<option value="all">所有</option>
 <?php
foreach ($ahaoyou as $v)
{
$name = aname($v[2]);
echo "<option value='{$v[2]}'>{$name}</option>";
}
?>
    </select></div>
<br/>
<div>留言内容:&nbsp;<input type="text" name="lynr"/></div>
<br/>
<input type="submit" value="发送"/>
<input type="reset" value="清空"/>
</form>
<?php
function aname($zhang)
{
global $db;
//设置全局变量!
if($zhang == "all")
{
//如果接收到的是all,显示:
return "所有人"; }
else
{
//如果是自己的,根据帐号查name
$sql = "select name from yuangong WHERE zhang ='{$zhang}' ";
$arr = $db->Query($sql);
//二维数组
return $arr[0][0];
}
}
?>
<a href="zym.php">查看信息</a>
<a href="ddrr.php" onclick="return confirm('确定要退出此帐号?')">注销登入</a>
</body>
</html>

最后就是发布信息的处理页面:

<?php
session_start();
$uid = $_SESSION["zhang"]; include("../db.class.php");
$db = new db(); $jsr = $_POST["shou"];
$neirong = $_POST["lynr"];
$sj = date("Y-m-d H:i:s"); $sql = "insert into liuyan values('','{$uid}','{$jsr}','{$sj}','{$neirong}',0)"; if($db->Query($sql,0))
{
header("location:zym.php");
}
else
{
echo "发布失败!";
}

图:

我用小花的账号给小明发一条留言:

所以 登入小明的帐号

图:

没错,他收到了小花的这条留言

php写留言板的更多相关文章

  1. 2015.1写留言板的时用的 知识点和函数 --->总结

    一:时间函数和uniqid() 1:uniqid():生成唯一的id, 无参数返回的字符串的长度为13,有参数为23 2:时间和时间戳相互转换的php函数 ①:time()  返回当前unix的时间戳 ...

  2. 用 Express4 写一个简单的留言板

    Knowledge Dependence:阅读文本前,你需要熟悉 Node.js 编程.Express 以及相关工具和常用中间件的使用. Node.js 以其单线程异步非阻塞的特点,越来越被广大的 W ...

  3. 写一个简单的HTML留言板

    最近有点懒,没码什么字,防止遗忘,从头开始码,写一个简单的HTML留言板.包含两个文件,book.html还有style.css,放在同一目录下. book.html 1 <!DOCTYPE h ...

  4. AngularJs学习笔记(制作留言板)

    原文地址:http://www.jmingzi.cn/?post=13 初学Anjularjs两天了,一边学一边写的留言板,只有一级回复嵌套.演示地址 这里总结一下学习的过程和笔记.另外,看看这篇文章 ...

  5. dd——留言板再加验证码功能

    1.找到后台-核心-频道模型-自定义表单 2.然后点击增加新的自定义表单 diyid 这个,不管他,默认就好 自定义表单名称 这个的话,比如你要加个留言板还是投诉建议?写上去呗 数据表  这个不要碰, ...

  6. 个人网页的留言板实现与sae的数据库账户配置

    个人网页(github)的留言板终于搞定了.总之后端的东西不会写,只有修改以前教程里面的文件.记录一下重要的过程. 使用了留言保存的send()函数,模版有注册登录功能.根据需求修改了一下,去掉了登录 ...

  7. angular留言板

    今天使用angularJs写了一个留言板,简单的享受了下angular处理数据的双向绑定的方便:注释已经都写到行间了 <!DOCTYPE html> <html lang=" ...

  8. phpcms的评论改为留言板研究

    研究背景: phpcms里面默认是没有留言板的,之前我的博客里发过一个二次开发简介,里面有一个简单的留言板,包含前台提供表单,后台留言审核等功能,但是不提供用户登录等操作. 研究思路: phpcms里 ...

  9. 数据库留言板例题:session和cookie区别

    session和cookie区别: <?php session_start(); //session_start();必须写在所有的php代码前边 ?> <!DOCTYPE html ...

随机推荐

  1. 拆开Ceph看队列和线程

    作者:吴香伟 发表于 2017/01/08 版权声明:可以任意转载,转载时务必以超链接形式标明文章原始出处和作者信息以及版权声明 我上小学时家离学校很远,家在某某山脚,学校在镇里.每周回家一趟,周五放 ...

  2. 前端基本知识(一):W3C标准&&冒泡事件,捕获事件,W3C DOM对象模型,对比分析

    W3C标准是万维网联盟, 其他的可以参考万维网版本的更新内容 一.W3C标准 二.W3C DOM事件 三.冒泡事件 四.捕获事件 一.W3C标准 其实网页是由三分部组成:1.结构(structure) ...

  3. swift注意

    赋值的时候要想为空 可以用   ? 例如 var age1:Int? // ?表示age1的类型为可选类型,其值可以为空print(age1) 判断一个字符串为空字符串if str_empty.isE ...

  4. 设置/修改wampserverd默认项目地址

    打开WampServer安装目录下bin\apache\Apache2.4.4\conf\文件夹打开httpd.conf 首先我们安装完wampserver后一般默认的项目存放地址如下: " ...

  5. Android灯光系统--深入理解背光灯

    Android灯光系统--深入理解背光灯 一.怎么控制背光灯(简述) APP将亮度值写入数据库 线程检测数据库的值是否发生变化 这种机制成为"内容观察者"--contentObse ...

  6. Jquery 文字上下滚动效果示例代码

      <!doctype html>   <html>   <head>   <meta charset="utf-8">       ...

  7. ArcObjects与ArcEngine的联系与区别

    ArcObjects与ArcEngine的联系与区别 AO一般指的是桌面产品开发组件,需要在桌面环境中才能够使用,最典型的就是嵌入式VBA开发.但是这样带来的弊端和OFFICE等相关软件一样明显,就是 ...

  8. protocol error, got 'n' as reply type byte

    centos6.5上安装redis3.2版本,本地访问redis报错protocol error, got 'n' as reply type byte 解决办法 在redis配置文件redis.co ...

  9. NodeJs之crypto

    NodeJs版本:4.4.4 crypto nodejs提供了内置加密模块crypto. 加密模块提供了 HTTP 或 HTTPS 连接过程中封装安全凭证的方法. 它也提供了 OpenSSL 的哈希, ...

  10. STL源码剖析(读书笔记)

    STL迭代器种类 2. 迭代器型别使用范例: 3. SGI STL空间配置器分为两级: 4. Vector 的内部存储方式为数组,随机访问迭代器. 5. Vector的size获取方式: 6. Vec ...