>  기사  >  백엔드 개발  >  PHP는 게시판 기능(세션 제어)을 구현합니다.

PHP는 게시판 기능(세션 제어)을 구현합니다.

不言
不言원래의
2018-04-08 10:08:453963검색

이 글은 주로 PHP를 사용하여 메시지 보드 기능과 세션 제어를 구현하는 사례를 소개합니다. 관심 있는 친구는 참고할 수 있습니다.

이 글의 예는 PHP 메시지 보드 기능의 구체적인 내용을 공유합니다. .코드는 참고용입니다.

데이터베이스에 사용되는 세 개의 테이블

1. 로그인 인터페이스(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");
}

2. 메인 인터페이스(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.페이지 보내기(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");

관련 권장사항:

php는 호출 지침으로 보완된 싱글톤 모드를 구현합니다.

php는 WeChat 템플릿 메시지 푸시를 구현합니다

php는 16진수 소켓을 보내는 방법을 구현합니다

위 내용은 PHP는 게시판 기능(세션 제어)을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.