Un exemple de comment implémenter la fonction de forum (connexion à la base de données) en PHP

黄舟
Libérer: 2023-03-15 22:02:02
original
3149 Les gens l'ont consulté

L'éditeur ci-dessous vous présentera un exemple d'utilisation de PHP pour se connecter à une base de données afin d'implémenter la fonction de forum de messages (recommandé). L'éditeur le trouve plutôt bon, je vais donc le partager avec vous maintenant et le donner comme référence pour tout le monde. Suivons l'éditeur pour y jeter un œil

PHP implémente la fonction de forum de messages :

1 La première est la page de connexion :


<!DOCTYPE html>
<html>
 <head>
  <meta charset="UTF-8">
  <title>留言板登录</title>
  <script src="bootstrap/js/jquery-1.11.2.min.js"></script>
  <script src="bootstrap/js/bootstrap.min.js"></script>
  <link href="bootstrap/css/bootstrap.min.css" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="stylesheet" type="text/css"/>
 </head>
 <style>
  .header{
   margin-left: 550px;
   margin-top: 150px;
   height: 300px;
   max-width: 300px;
  }
  .xiugai{
   max-width: 200px;
  }
  .login{
   margin-top: 10px;
  }
 </style>
 <body>
  <form action="messloginchuli.php" method="post">
  <p class="header">
   <h2>开发部内部留言板</h2>
   <p class="input-group xiugai">
    <span class="input-group-addon" >用户名:</span>
    <input type="text" class="form-control" name="uid" placeholder="请输入用户名">
   </p>
   <p class="input-group xiugai" >
    <span class="input-group-addon">口令:</span>
    <input type="text" class="form-control" name="pwd" placeholder="请输入口令">
   </p>
   <button type="submit" class="btn btn-success login">登录</button>
  </p>
 </form>
 </body>
</html>
Copier après la connexion

2 Une fois la page de connexion terminée, vous devez accéder à la page de traitement de connexion, qui est le messageloginchuli.php soumis ci-dessus >


La page de connexion ressemble à ceci :
<?php
session_start();  // 登录之后要把所包含登录的页面连接起来,开启session
$uid = $_POST["uid"];
$pwd = $_POST["pwd"];
require_once "./DBDA.class.php";
$db = new DBDA();
$sql = "select password from yuangong where username=&#39;{$uid}&#39;";
$arr = $db->query($sql,0);
//var_dump($arr[0][0]);
if($arr[0][0]=$pwd && !empty($pwd)){
 $_SESSION["uid"]=$uid;
 header("location:message.php");
}

?>
Copier après la connexion

3 . Connexion terminée La dernière étape consiste à accéder à la page principale, qui affiche le contenu de la conversation que vous avez reçu. Voici le tableau de la base de données conçu et le code de la page principale : <🎜. >


Quittez le système de connexion pour implémenter la déconnexion de l'utilisateur et revenez à la page de connexion. Le code de fonction est le suivant :

<!DOCTYPE html>
<html>
 <head>
  <meta charset="UTF-8">
  <title></title>
  <script src="bootstrap/js/jquery-1.11.2.min.js"></script>
  <script src="bootstrap/js/bootstrap.min.js"></script>
  <link href="bootstrap/css/bootstrap.min.css" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="stylesheet" type="text/css"/>
 </head>
 <style>
  .mess{
   max-width: 800px;
   margin-left: 250px;
   margin-top: 150px;
  }
 </style>
 <body>
  <?php
  session_start();
  $uid = $_SESSION["uid"];
  if(empty($_SESSION["uid"])){
   header("location:messlogin.php");
   exit;
  }
  ?>
  <p >
   <a href="publish_info.php" rel="external nofollow" >发布信息</a>
   <a href="tuichuchuli.php" rel="external nofollow" >退出系统</a>
   </p>
  <table class="table table-bordered mess" >
   <caption >
    留言信息:
   </caption>
   
   <thead>
    <tr>
     <th>发送人</th>
     <th>发送时间</th>
     <th>接收人</th>
     <th>信息内容</th>
    </tr>
   </thead>
   <tbody>
    <?php
    require_once "./DBDA.class.php";
    $db = new DBDA();
    $sql = "select * from liuyan where recever=&#39;{$uid}&#39; or recever=&#39;all&#39;";
    $arr = $db->query($sql,0);
    foreach($arr as $v){
     echo "<tr>
     <td>{$v[1]}</td>
     <td>{$v[2]}</td>
     <td>{$v[3]}</td>
     <td>{$v[4]}</td>
    </tr>";
    }
    ?>
    
   </tbody>
  </table>

 </body>
</html>
Copier après la connexion

.


Le code est écrit ici, comparez La partie importante est terminée. Il s'agit ensuite d'entrer dans la page d'informations sur la version, qui est équivalente à la page ajoutée écrite auparavant. La page de traitement est également la même qu'avant. . La différence est que la page de traitement actuelle est utilisée lorsque l'utilisateur est connecté. , vous devez utiliser la session pour connecter toutes les pages de connexion

 <?php
session_start();
$uid = $_SESSION["uid"];
unset($uid);
header("location:messlogin.php");

?>
Copier après la connexion

L'effet de la page principale est le suivant :

4. Enfin, il y a la page de diffusion d'informations, à laquelle vous pouvez envoyer des informations. n'importe qui

Le code est le suivant :


La page d'envoi du message est comme indiqué ci-dessous :

<!DOCTYPE html>
<html>
 <head>
  <meta charset="UTF-8">
  <title>发布信息界面</title>
  <script src="bootstrap/js/jquery-1.11.2.min.js"></script>
  <script src="bootstrap/js/bootstrap.min.js"></script>
  <link href="bootstrap/css/bootstrap.min.css" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="stylesheet" type="text/css"/>
 </head>
 <style>
  .mess{
   max-width: 200px;
   margin-top: 10px;
  }
  .mess1{
   margin-top: 10px;
  }
  .opt{
   max-width: 200px;
   margin-left: 80px;
  }
  .txt{
   max-width: 200px;
  }
 </style>
 <body>
<?php
session_start();
$uid = $_SESSION["uid"];
if (empty($_SESSION["uid"])) {
 header("location:messlogin.php");
 exit ;
}
?>
 <p >
  <p >
   <a href="message.php" rel="external nofollow" >查看信息</a>
   <a href="seemess.php" rel="external nofollow" >查看发送信息</a>
   </p>
  <form class="form-horizontal" role="form" action="infochuli.php" method="post">
   
   <p class="form-group">
     <label for="firstname" class="col-sm-2 control-label mess1">接收人:</label>
     <p class="form-group ">
      <select class="form-control opt" name="recever">
       <option value="all">所有人</option>
      <?php
      
      require_once "./DBDA.class.php";
      $db = new DBDA(); 

       //这里可以给特定的朋友发送信息的sql语句
      //$sql = "select firend.firend,yuangong.name from firend,yuangong where firend.firend 
      //= yuangong.username and firend.me = &#39;{$uid}&#39;";
      $sname = "select * from yuangong where username not in (&#39;{$uid}&#39;)";
      $arr = $db->query($sname,0);      
      //var_dump($arr[0][2]);
      foreach($arr as $v){
       echo "<option value=&#39;{$v[0]}&#39;>{$v[2]}</option>";
      }
      ?>      
      </select>
     </p>
    </p>
   
   <p class="form-group">
    <label for="lastname" class="col-sm-2 control-label mess1">信息内容:</label>
    <p class="col-sm-10">
     <textarea class="form-control txt" rows="3" name="content"></textarea>
    </p>
   </p>
   <p class="form-group">
    <p class="col-sm-offset-2 col-sm-10">
     <button type="submit" class="btn btn-default">
     发送
     </button>
    </p>
   </p>
  </form>
 </p>

 </body>
</html>
Copier après la connexion

5. Après avoir publié le message, vous devez entrer dans la page de traitement, c'est-à-dire Soumettre infochuli.php, et enfin revenir à l'interface d'envoi d'informations

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