Maison > développement back-end > tutoriel php > Comment implémenter la fonction de forum de discussion en php

Comment implémenter la fonction de forum de discussion en php

墨辰丷
Libérer: 2023-03-27 19:42:02
original
6237 Les gens l'ont consulté

Cet article présente principalement les étapes et méthodes pour implémenter la fonction de forum de discussion en PHP. A une très bonne valeur de référence. Jetons-y un coup d'œil avec l'éditeur ci-dessous

Production simple de forums de messages PHP

Pour faire fonctionner le forum de messages de base, vous avez besoin de trois tables :

Table des employés, table des messages, table des amis

Créez d'abord une page de connexion :

<form action="drcl.php" method="post">
 <p>帐号:<input type="text" name="zhang"/></p>
 <p>口令:<input type="text" name="mi"/></p>
<input type="submit" value="登入"/>
</form>
Copier après la connexion

Photo ci-dessus :

Pas grand chose à dire, pas de problème

Alors écris See More la page de traitement :

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

La page de connexion normale sert simplement à enregistrer la session du compte

Connectez-vous et entrez le page principale

Vient ensuite la page principale :

<!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>
<p><a href="fbym.php" rel="external nofollow" >发布信息</a></p>
<p><a href="ddrr.php" rel="external nofollow" rel="external nofollow" onclick=" return confirm(&#39;注销当前用户?&#39;)">注销登入</a></p>
<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 = &#39;{$zhang}&#39;";
 $attr = $db->Query($sql);
 //取到登入的name
 echo "<h5>欢迎你:{$attr[0][0]}</h5>";
 //输出登入的name
 $sql = "select * from liuyan WHERE shou = &#39;{$zhang}&#39; or shou = &#39;all&#39; 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 =&#39;{$zhang}&#39; ";
   $arr = $db->Query($sql);
   //二维数组
   return $arr[0][0];
  }
 }
 ?>
</table>
</body>
</html>
Copier après la connexion

La condition de recherche est de vérifier uniquement vos amis ou Soyez propriétaire de tout

Notez également que vous devez définir la base de données appelante comme variable globale

Image :

Quitter un message Le forum doit publier des informations :

Page de publication d'informations :

<!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 = &#39;{$zhang}&#39;";
$ahaoyou = $db->Query($shaoyou);
?>
<form action="fbcl.php" method="post">
<p> 接收人: 
 <select name="shou">
  <option value="all">所有</option>
 <?php
  foreach ($ahaoyou as $v)
  {
   $name = aname($v[2]);
   echo "<option value=&#39;{$v[2]}&#39;>{$name}</option>";
  }
  ?>
 </select></p>
<br/>
<p>留言内容: <input type="text" name="lynr"/></p>
<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 =&#39;{$zhang}&#39; ";
$arr = $db->Query($sql);
//二维数组
return $arr[0][0];
}
}
?>
<a href="zym.php" rel="external nofollow" >查看信息</a>
<a href="ddrr.php" rel="external nofollow" rel="external nofollow" onclick="return confirm(&#39;确定要退出此帐号?&#39;)">注销登入</a>
</body>
</html>
Copier après la connexion

Le la dernière consiste à publier des informations Page de traitement :

<?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(&#39;&#39;,&#39;{$uid}&#39;,&#39;{$jsr}&#39;,&#39;{$sj}&#39;,&#39;{$neirong}&#39;,0)";
if($db->Query($sql,0))
{
 header("location:zym.php");
}
else
{
 echo "发布失败!";
}
Copier après la connexion

Photo :

J'utilise le compte de Xiaohua pour donner à Xiao Ming un message envoyé :

Alors connectez-vous au compte de Xiao Ming

Photo :

Oui, il a reçu ce message de Xiao Hua

Ce qui précède représente l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.


Recommandations associées :

php implémente la fonction Message Board basée sur le contrôle de session

Un exemple d'utilisation de js pour implémenter Message Board (code fourni)

Implémentation de Message BoardMéthodes

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal