Maison  >  Article  >  développement back-end  >  PHP implémente la fonction de forum de messages (contrôle de session)

PHP implémente la fonction de forum de messages (contrôle de session)

不言
不言original
2018-04-08 10:08:453962parcourir

Cet article présente principalement le cas de PHP pour implémenter la fonction de forum de messages et le contrôle de session en détail. Il a une certaine valeur de référence. Les amis intéressés peuvent s'y référer

Les exemples de cet article sont partagés avec tout le monde. Le code spécifique de la fonction de forum de messages php est pour votre référence. Le contenu spécifique est le suivant

Trois tables utilisées dans la base de données

1. Interface de connexion (denglu.php login.php)

1. denglu.php

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>

<body>
<h1>开发部内部留言板</h1>
<form action="login.php" method="post">
<p>用户名:<input type="text" name="UserName" /></p>
<p>口令:<input type="password" name="PassWord" /></p>
<input type="submit" value="登录" />
<a href="denglu.php" style="text-decoration:none"><input type="button" value="复位" /></a>
</form>
</body>
</html>

2.login.php

<?php
session_start();
$UserName = $_POST["UserName"];
$PassWord = $_POST["PassWord"];

require "DBDA.class1.php";
$db = new DBDA();
$sql = "select PassWord from yuangong where UserName = &#39;{$UserName}&#39;";
$arr = $db->query($sql);

if(count($arr))
{
  if($arr[0][0] == $PassWord && !empty($PassWord))
  {
    //存储用户名
    $_SESSION["UserName"] = $UserName;
    
    header("location:main.php");
  }
}
else
{
  header("location:denglu.php");
}

deux interfaces .Main (main.php tuichu.php)

1.main.php

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<?php
session_start();
  
//  防止绕过登陆直接进入主界面
if(empty($_SESSION["UserName"]))
{
  header("location:denglu.php");
  exit;
}
  
require "DBDA.class1.php";
$db = new DBDA();
$UserName = $_SESSION["UserName"];
?>
<p>
<a href="fabu.php">发布信息</a>
<a href="tuichu.php">退出系统</a>
</p><br /><br />
<h1>留言信息:</h1>
<table width="100%" border="1" >
  <tr>
    <td>发送人</td>
    <td>发送时间</td>
    <td>接收人</td>
    <td>信息内容</td>
  </tr>
   <?php
  
  //显示接收者是我的,或者是所有人的
  $sql = "select * from liuyan where Recever=&#39;{$UserName}&#39; or Recever=&#39;suoyou&#39;";
  $arr = $db->query($sql);
  foreach($arr as $v)
  {
  
     echo "<tr>
          <td>{$v[1]}</td>
        <td>{$v[3]}</td>
        <td>{$v[2]}</td>
        <td>{$v[4]}</td>
        </tr>";
  }
  
  ?>  

</table>
</body>
</html>

2.tuichu.php

<?php
session_start();
unset($_SESSION["UserName"]);
header("location:denglu.php");

3. Envoyer la page (fabu.php fabuchuli.php)

1.fabu.php

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<p>
<a href="main.php">查看信息</a>
<a href="tuichu.php">退出系统</a>
</p>
<h1>信息发送:</h1>
<form action="fabuchuli.php" method="post">
<p>接收人:
<select name="jsr">
  <option value="suoyou">所有人</option>
  <?php
  session_start();
  $UserName = $_SESSION["UserName"];
  require"DBDA.class1.php";
  $db = new DBDA();
  //方法一
  $sql = "select friend.Friend,yuangong.Name from friend,yuangong where friend.Friend = yuangong.UserName and friend.Me = &#39;{$UserName}&#39;";
  $arr = $db->query($sql);
    
  foreach($arr as $v)
  {
    echo "<option value=&#39;{$v[0]}&#39;>{$v[1]}</option>";
  }
  //方法二
  /*$sql = "select Friend from friend where Me =&#39;{$UserName}&#39;";
  $arr = $db->query($sql);
  foreach($arr as $v)
    {
      $v[0];
      $sname = "select Name from yuangong where UserName = &#39;{$v[0]}&#39;";
      $aname = $db->query($sname);
      echo"<option value=&#39;{$v[0]}&#39;>{$aname[0][0]}</option>";
    }*/
  ?>        
</select></p>
<p>信息内容:<textarea name="neirong"></textarea></p>
<input type="submit" value="发送" />
<a href="fabu.php" style="text-decoration:none"><input type="button" value="复位" /></a>
</form>
</body>
</html>

2.fabuchuli.php

<?php
session_start();
$UserName = $_SESSION["UserName"];
$jsr = $_POST["jsr"];
$nr = $_POST["neirong"];
$Times = date("Y-m-d H:i:s");


require"DBDA.class.php";
$db = new DBDA();
$sql = "insert into liuyan values(&#39;&#39;,&#39;{$UserName}&#39;,&#39;{$jsr}&#39;,&#39;{$Times}&#39;,&#39;{$nr}&#39;)";
$db->query($sql,0);
header("location:fabu.php");

Recommandations associées :

php implémente le mode singleton complété par des instructions d'appel

php Implémenter le push de message du modèle WeChat

Méthode PHP pour implémenter l'envoi de socket hexadécimal

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