Maison  >  Article  >  développement back-end  >  Comment implémenter le forum de discussion utilisateur en php

Comment implémenter le forum de discussion utilisateur en php

藏色散人
藏色散人original
2021-12-14 09:36:085808parcourir

Comment implémenter le forum de discussion utilisateur en PHP : 1. Créer une page de connexion ; 2. Stocker les données via la session ; 3. Configurer la page de modération des messages ; 4. Créer une page de traitement pour la publication des informations.

Comment implémenter le forum de discussion utilisateur en php

L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.4, ordinateur Dell G3.

Comment implémenter le forum de discussion utilisateur en php ?

php pour implémenter la fonction de babillard électronique (explication détaillée du code)

Production simple de babillard PHP

Pour exécuter la fonction de babillard électronique de base, trois tables sont nécessaires :

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

Créez d'abord une page de connexion :

<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>

Photo ci-dessus :

Pas grand chose à dire, pas de problème

Ensuite, écrivez 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 "登入失败了";
}
?>

La page de connexion normale est juste pour mettre le compte Enregistrez la session

Connectez-vous et entrez dans la page principale

Ensuite, c'est 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>
<div><a href="fbym.php" rel="external nofollow" >发布信息</a></div>
<div><a href="ddrr.php" rel="external nofollow" rel="external nofollow" onclick=" return confirm(&#39;注销当前用户?&#39;)">注销登入</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 = &#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>

La condition de recherche est de vérifier uniquement vos amis ou tout le monde en tout

Notez également que vous devez La base de données appelée est définie comme une variable globale

Image :

Le forum de discussion 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">
<div> 接收人: 
 <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></div>
<br/>
<div>留言内容: <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 =&#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>

Enfin, la page de traitement pour la publication des informations :

<?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 "发布失败!";
}

Photo :

J'ai utilisé le compte de Xiaohua pour envoyer un message à Xiao Ming :

Alors connectez-vous au compte de Xiao Ming

Photo :

Oui, il a reçu ce message de Xiaohua

Étude recommandée : "Tutoriel vidéo PHP

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!

Déclaration:
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