PHP实现基本留言板功能原理与步骤详解


Posted in PHP onMarch 26, 2020

本文实例讲述了PHP实现基本留言板功能的方法。分享给大家供大家参考,具体如下:

作为一个PHP的初学者,我试着写了一个留言板,页面有点丑,多多见谅,嘻嘻嘻
#我们写留言板需要用到数据库,所以我们先要建立三个表
user表
PHP实现基本留言板功能原理与步骤详解
friend表
PHP实现基本留言板功能原理与步骤详解
text表
PHP实现基本留言板功能原理与步骤详解

#首先需要写一个注册与登录

##注册
zhuce.html

<meta charset="utf-8">
<title>zhuce</title>
</head>
<body>
<form method="POST" action="zhuce.php">
<div style="margin-left: 500px;margin-top:200px;height: 250px;width: 250px">
<h1>用户注册页面</h1>
用户名:<input type="text" name="username">
<div>密   码:<input type="password" name="password">
<div><input type="submit" name="submit" value="注册"></div>
</div>
</form>
</body>

zhuce.php

<?php
session_start();
header("Content-type: text/html; charset=utf-8"); //处理数据库用户名乱码
$user=$_POST["username"];
$pwd=$_POST["password"];
if($user==""||$pwd=="")
	 {
   	echo "<script>alert('请确认信息完整性!'); history.go(-1);</script>"; 
	 }
else 
  	{
	 		
 			$link=mysqli_connect("localhost","root","","liuyan");//连接数据库
	 		mysqli_query($link,"set names utf8"); 
	 		$sql="select username from user where username='$_POST[username]'";
    	$result=mysqli_query($link,$sql);//执行sql语句
     	$num=mysqli_num_rows($result);//统计执行结果影响的行数
     	if($num)//如果存在该用户
     		{
     			echo "<script>alert('用户名已存在!'); history.go(-1);</script>"; 
    		}
      else//注册新用户
    		 { 
     			$sql_insert="insert into user (username,password)values('$_POST[username]','$_POST[password]')";
     			$res_insert=mysqli_query($link,$sql_insert);
     			if($res_insert)
     			{
     				echo "<script>alert('注册成功!');window.location='denglu.html';</script>"; 
     			}
     			else
     			{
     				echo "<script>alert('系统繁忙请重试!'); history.go(-1);</script>"; 
     			}
     	  }
  }
 ?>

#效果如下
PHP实现基本留言板功能原理与步骤详解

##登录
denglu.html

<head>
<meta charset="utf-8">
<title>denglu</title>
</head>
<body>
<form method="POST" action="denglu.php">
<div style="margin-left: 500px;margin-top:200px;height: 250px;width: 250px">
<h1>用户登录页面</h1>
用户名:<input type="text" name="username">
<div>密   码:<input type="password" name="password"></div><br/>
<input type="submit" name="submit" value="登录"> 
<a href="zhuce.html" rel="external nofollow" >注册</a> 
 </div>
</form>
</body>

denglu.php

<?php
  session_start();
  	$user=$_POST["username"];
	$_SESSION["uesrname"]=$user;//session超全局变量
	$pwd=$_POST["password"];//获取密码
	if($user=""||$pwd="")
	{
   echo "<script>alert('请输入用户名或密码!'); history.go(-1);</script>"; 
	}
	else
	{
		$link=mysqli_connect("localhost","root","","liuyan");//连接数据库
    mysqli_query($link,"set names utf8"); 
    $sql = "select username,password from user where username = '$_POST[username]' and password = '$_POST[password]'"; 
		$result=mysqli_query($link,$sql);//执行sql语句
		$num=mysqli_num_rows($result);//统计影响结果行数,作为判断条件
		if($num)
		{
			echo "<script>alert('登录成功!');window.location='003.php';</script>";//登录成功页面跳转 
		}
		else
		{
			echo "<script>alert('用户名或密码不正确!');history.go(-1);</script>"; 
	  }
	}
?>

#效果如下
PHP实现基本留言板功能原理与步骤详解
#下面需要我们写一个登录进去的页面,它显示别人给你发来的留言以及进入你要给别人留言的页面或者退出系统,在这里我将html代码嵌入php
php代码如下
003.php

<?php
session_start();
global $user;//定义$user
global $user1;
$_SESSION["username"]=$user;
$username=$_SESSION["uesrname"];
$user1=implode("",$_SESSION);//将session中的数组变为字符串元素
$link=mysqli_connect("localhost","root","","liuyan");//连接数据库
mysqli_query($link,"set names utf8"); 
$sql="select * from text where recever='{$username}'";
$result=mysqli_query($link,$sql);//执行语句
if($num=mysqli_num_rows($result))//将HTML嵌入PHP中,实现从数据库中获得留言信息
{?>
	<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
</head>
 <body>
 <div>
 	<a href="fabu.html" 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 bgcolor="#8BBCC7">

	<td>发送人</td>
	<td>接收人</td>
	<td>发送时间</td>
	<td>信息内容</td>
	<?php echo '<pre>';
	while($row=mysqli_fetch_array($result,MYSQLI_ASSOC))
	{?>
		<tr bgcolor="#FFFFFF">
	<td ><?php echo $row['sender'];?> </td>
	<td > <?php echo $row['recever'];?> </td>
	<td > <?php echo $row['comment'];?> </td>
	<td > <?php echo $row['time'];?> </td>
  <?php 
    }
    ?>
</tr>
</table>
</body>
</html>
   <?php	


}?>

#效果如下
PHP实现基本留言板功能原理与步骤详解
#接下来我们就该写发布的页面以及PHP代码了
fabu.html

<head>
	<meta charset="utf-8">
	<title>fabu</title>
</head>
<body>
 <form method="POST" action="fabu.php">
<h1>发布信息<h1>
<a href="003.php" rel="external nofollow" >主页面</a>
<div>接收人:<input type="text" name="recever">
</select>
</div>
</select>
</div>
<br/>
<div>
	信息内容:<textarea input type="text" name="neirong"></textarea>
</div><br/>
<input type="submit" value="发送">
</form>

fabu.php

<?php
session_start();
header("Content-type: text/html; charset=utf-8");
global $user;
$re=$_POST["recever"];//获取recever
$comment=$_POST["neirong"];//获取留言
@date_default_timezone_set(PRC);//将数组变为字符串函数
$time=date("Y-m-d G:i:s");//获取时间,G为24小时制
$_SESSION["username"]=$user;//开启session
$user1=implode("",$_SESSION);//将数组转为字符串
$link=mysqli_connect("localhost","root","","liuyan");//连接数据库
mysqli_query($link,"set names utf8"); 
$sql="insert into text(sender,recever,comment,time) values('$user1','$re','$comment','$time')";
$result=mysqli_query($link,$sql);//执行语句
$sql1="insert into friend(me,friend) values('$user1','$re')";//将me,friend存入数据库
$result=mysqli_query($link,$sql1);//执行语句
if($recever=""||$comment="")
{
	echo "<script>alert('发布失败!');window.location='fabu.html';</script>";
}
else
{
	echo "<script>alert('发布成功!');window.location='fabu.html';</script>";
}
?>

#效果如下
PHP实现基本留言板功能原理与步骤详解
#最后是退出系统

<?php
session_start();
unset($_SESSION["uesrname"]);
echo "<script>alert('退出成功!');window.location='denglu.html';</script>"; 
?>

#效果如下
PHP实现基本留言板功能原理与步骤详解

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
将一维或多维的数组连接成一个字符串的php代码
Aug 08 PHP
PHP生成自适应大小的缩略图类及使用方法分享
May 06 PHP
php中__destruct与register_shutdown_function执行的先后顺序问题
Oct 17 PHP
PHP读取CURL模拟登录时生成Cookie文件的方法
Nov 04 PHP
PHP如何将log信息写入服务器中的log文件
Jul 29 PHP
thinkPHP导出csv文件及用表格输出excel的方法
Dec 30 PHP
PHP针对字符串开头和结尾的判断方法
Jul 11 PHP
php数据库操作model类(使用__call方法)
Nov 16 PHP
PHP设计模式之工厂模式定义与用法详解
Apr 03 PHP
php实现多站点共用session实现单点登录的方法详解
Sep 18 PHP
基于laravel where的高级使用方法
Oct 10 PHP
PHP7 windows支持
Mar 09 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
Mar 26 #PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
Mar 26 #PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
Mar 24 #PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
Mar 24 #PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
Mar 24 #PHP
php设计模式之原型模式分析【星际争霸游戏案例】
Mar 23 #PHP
php设计模式之代理模式分析【星际争霸游戏案例】
Mar 23 #PHP
You might like
星际玩家的三大定律
2020/03/04 星际争霸
PHP CURL CURLOPT参数说明(curl_setopt)
2013/09/30 PHP
完美解决在ThinkPHP控制器中命名空间的问题
2017/05/05 PHP
自写的利用PDO对mysql数据库增删改查操作类
2018/02/19 PHP
PHP中有关长整数的一些操作教程
2019/09/11 PHP
js setTimeout()函数介绍及应用以倒计时为例
2013/12/12 Javascript
js对象转json数组的简单实现案例
2014/02/28 Javascript
js控制鼠标事件移动及移出效果显示
2014/10/19 Javascript
js添加select下默认的option的value和text的方法
2014/10/19 Javascript
原生javascript实现DIV拖拽并计算重复面积
2015/01/02 Javascript
浅述节点的创建及常见功能的实现
2016/12/15 Javascript
easyui 中的datagrid跨页勾选问题的实现方法
2017/01/18 Javascript
js实现拖拽功能
2017/03/01 Javascript
vue.js默认路由不加载linkActiveClass问题的解决方法
2017/12/11 Javascript
微信小程序实现验证码获取倒计时效果
2018/02/08 Javascript
NodeJS实现同步的方法
2019/03/02 NodeJs
20多个小事例带你重温ES10新特性(小结)
2019/09/29 Javascript
基于vue和bootstrap实现简单留言板功能
2020/05/30 Javascript
[33:39]DOTA2上海特级锦标赛C组小组赛#2 LGD VS Newbee第二局
2016/02/27 DOTA
python Django连接MySQL数据库做增删改查
2013/11/07 Python
跟老齐学Python之眼花缭乱的运算符
2014/09/14 Python
Python进程通信之匿名管道实例讲解
2015/04/11 Python
Python实现登录接口的示例代码
2017/07/21 Python
Python网络编程 Python套接字编程
2017/09/13 Python
python和flask中返回JSON数据的方法
2018/03/26 Python
Django Admin实现三级联动的示例代码(省市区)
2018/06/22 Python
python 文件查找及内容匹配方法
2018/10/25 Python
python3+PyQt5 自定义窗口部件--使用窗口部件样式表的方法
2019/06/26 Python
Apache,wsgi,django 程序部署配置方法详解
2019/07/01 Python
使用Python爬取弹出窗口信息的实例
2020/03/14 Python
Python3安装模块报错Microsoft Visual C++ 14.0 is required的解决方法
2020/07/28 Python
CSS3只让背景图片旋转180度的实现示例
2021/03/09 HTML / CSS
Python使用openpyxl复制整张sheet
2021/03/24 Python
海南召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
学习保证书怎么写
2015/02/26 职场文书
mysql聚集索引、辅助索引、覆盖索引、联合索引的使用
2022/02/12 MySQL