php的bbs留言板,留言板php代碼怎麼寫

本文目錄一覽:

php留言板是實現無限回復功能

可以有2種解決方案。

1:建立一張留言回復表(將回復也視為留言,統一至一張表),主鍵留言ID自增量,並增加一個外鍵欄位,用於保存其所回復的留言ID,對於留言本身此外鍵便為空,而對於回復別人的留言,則此外鍵保存所回復的留言ID。

2:建立2張表,一張留言表,一張留言回復表。這個就好理解些。只需在留言回復表中增加一個外鍵-留言ID便可

php程序bbs留言板程序調試時出錯,錯誤提示如下:Parse error: parse error in C:\wamp\www\php_testing\b

?php

include(“conn.php”);

if($_POST[‘submit’]) {

$sql=”insert into message (id,user,title,content,lastdate) values(”,'”. $_POST[‘user’] . “‘,'” . $_POST[‘title’] . “‘,'” . $_POST[‘content’] . “‘,now())”;

mysql_query($sql);

echo “發表成功”;

}

?

form action=”add.php” method=”post”

用戶:input type=”text” size=”10″ name=”user”br

標題:input type=”text” name=”title”br

內容:textarea name=”content”/textareabr

input type=”submit” name=”submit” value=”發布留言”/

/form

如何用php做出登陸註冊留言板

登錄頁:login.php

?php

include(“conn.php”);

$username=$_POST[‘name’];

$password=$_POST[‘password’];

$yanzheng=$_POST[‘yanzheng’];

if(isset($_POST[‘submit’]))

{

$sql=(“select username,password from member where username=’$username’ and password=’$password'”) or die(“sql語句執行失敗”);

//print_r($sql);

$ar=mysql_query($sql);

if($ar)

{

if($row=mysql_fetch_array($ar))

{

session_start();

if($_POST[“yanzheng”])

{

if($yanzheng!=$_session[pic]||$yanzheng==””)

{

echo “驗證碼輸入有誤”;

exit;

}

if($yanzheng==$_session[pic])

{

header(“location:index.php”);

}

}

}

else

{

echo “用戶名或密碼錯誤”;

}

}

}

?

form action=”login.php” method=”post”

table border=1 align=center width=500 height=300 bgColor=#DFFFDF bordercolor=#fffbec

tr

td colspan=2 align=center用戶登錄/td

/tr

tr

td用戶姓名:/td

tdinput type=”text” name=”name” id=”name”//td

/tr

tr

td用戶密碼:/td

tdinput type=”password” name=”password” id=”password”//td

/tr

tr

td驗證碼:/td

tdinput type=”text” name=”yanzheng” id=”yanzheng”/

img src=”yanzheng1.php” width=”50″ height=”30″/img

/td

/tr

tr

td colspan=3 align=center

input type=”submit” name=”submit” value=”登錄”/

input type=”reset” name=”reset” value=”重置”/

a href=”register.php”註冊/a

/td

/tr

/table

/form

註冊頁:register.php

?php

include(“conn.php”);

if(isset($_POST[‘submit’])$_POST[‘submit’]) {

if($_POST[‘username’]==”)

{

echo “用戶名不能為空”;

exit();

}

if($_POST[‘password’]==”)

{

echo “密碼不能為空”;

exit();

}

if($_POST[‘realpass’]!=$_POST[‘password’])

{

echo “兩次密碼輸入不一致”;

exit();

}

$sql=”insert into member(username,real_name,password,email,headimg) values(‘$_POST[username]’,’$_POST[username]’,’$_POST[password]’,’$_POST[email]’,”)”;

$ar=mysql_query($sql);

if($ar)

{

header(“location:index.php”);

}

else

{

echo mysql_error();

}

}

?

body

form action=”register.php” method=”post”

table border=1 align=center width=500

tr

td height=40 bgColor=#DFFFDF colspan=2會員註冊          [a href=”login.php”返回登錄頁/a]/td

/tr

tr

td height=40 bgColor=#fffbec 會員ID/td

tdinput type=”text” name=”username” id=”username”//td

/tr

tr

td height=40 bgColor=#fffbec密碼/td

tdinput type=”password” name=”password” id=”password”//td

/tr

tr

td height=40 bgColor=#fffbec確認密碼/td

td

input type=”password” name=”realpass” id=”realpass”/

/td

/tr

tr

td height=40 bgColor=#fffbecEMAIL/td

tdinput type=”text” name=”email” id=”email”/

/tr

tr

td height=40 bgColor=#fffbec/td

tdinput type=”submit” name=”submit” value=”註冊”/input type=”reset” value=”重置”/td

/tr

/table

/form

/body

主頁顯示:index.php

?php

include(“conn.php”);

function cutstr($str,$cutleng)

{

$str = $str; //要截取的字元串

$cutleng = $cutleng; //要截取的長度

$strleng = strlen($str); //字元串長度

if($cutleng$strleng)return $str;//字元串長度小於規定字數時,返回字元串本身

$notchinanum = 0; //初始不是漢字的字元數

for($i=0;$i$cutleng;$i++)

{

if(ord(substr($str,$i,1))=128)

{

$notchinanum++;

}

}

if(($cutleng%2==1)($notchinanum%2==0)) //如果要截取奇數個字元,所要截取長度範圍內的字元必須含奇數個非漢字,否則截取的長度加一

{

$cutleng++;

}

if(($cutleng%2==0)($notchinanum%2==1)) //如果要截取偶數個字元,所要截取長度範圍內的字元必須含偶數個非漢字,否則截取的長度加一

{

$cutleng++;

}

return substr($str,0,$cutleng);

}

?

html

head

script type=”text/javascript”

function All(e, itemName)

{

var aa = document.getElementsByName(itemName);

for (var i=0; iaa.length; i++)

aa[i].checked = e.checked; //得到那個總控的複選框的選中狀態

}

function Item(e, allName)

{

var all = document.getElementsByName(allName)[0];

if(!e.checked) all.checked = false;

else

{

var aa = document.getElementsByName(e.name);

for (var i=0; iaa.length; i++)

if(!aa[i].checked) return;

all.checked = true;

}

}

/script

/head

?php

include(“conn.php”);

if(isset($_POST[‘del’]))

{

$mm = $_POST[“selected”];

$id =implode(“,”,$mm);

$sql = “delete from forums where id in(“.$id.”)”;

//echo $sql;

$result=mysql_query($sql);

echo $result?”刪除成功”:”刪除失敗”;

}

?

table style=”BORDER-BOTTOM-WIDTH: 1px; BORDER-COLLAPSE: collapse” cellSpacing=0 cellPadding=0 width=600 align=center border=1 bordercolor=#ddddff

tr align=middle

td height=40 bgColor=#DFFFDF colspan=3論壇列表/td

/tr

tr

td colspan=3a href=”login.php” style=”float:right”[退出系統]/aa href=”add_forum.php” style=”float:right”[添加論壇]/a/td

td/td

/tr

tr align=middle

td height=40 bgColor=#DFFFDF width=80狀態/td

td height=40 bgColor=#DFFFDF論壇/td

td height=40 bgColor=#DFFFDF最後更新/td

/tr

?php

$sql=”select * from forums”;

$result=mysql_query($sql);

$num=mysql_num_rows($result);

if($num0)

{

while($row=mysql_fetch_array($result)){

?

tr align=middle

td bgColor=#fffbecinput type=”checkbox” name=”selected” value=”1″//td

td height=50 bgColor=#fffbec width=300

?php

echo “diva href=\”forums.php?F=”.$row[‘ID’].”\””.$row[‘forum_name’].”/a/div”;

echo cutstr($row[‘forum_description’],24);//最多顯示24個位元組,12個字,多餘部分用省略號代替

echo “……”;

?

/td

td height=50 bgColor=#fffbecdiv?php echo $row[‘last_post_time’].”by”.$row[‘last_post_author’]?/div/td

/tr

?php

}

}

else

{

echo “tr bgColor=#fffbectd colspan=3對不起,論壇尚在創建中……/td/tr”;

}

?

tr

td colspan=3    input type=”checkbox” name=”selected” value=”1″ onclick=”All(this,’selected’)”/全選/不全選/td

/tr

tr

tdinput type=”button” name=”del” id=”del” value=”刪除選中項”/

?php

?

/td

/tr

/table

/html

自己創建資料庫就好。

用PHP完成留言板功能

留言表:留言ID、用戶ID、內容、發表時間、修改時間(此欄位可選)。

回復表:回復ID、留言ID、用戶ID、內容、發表時間、修改時間(此欄位可選)。

第一個用戶ID是誰發表的留言,第二個用戶ID是誰回復的留言,這樣無限回復沒問題,應該和你設計的差不多。

查詢(查詢某條留言的所有回復):

在回復表裡查詢所有該留言的回復記錄(查詢條件為留言ID),並按發表時間降序

回復內容表:

回復Id 回復內容

回復關聯表:

回復內容id 回復內容id

已私信

求一步一步教PHP留言板製作方法

1. 先設計數據表,一般留言板需要兩個表:留言內容表、回復表

留言內容表:messages

欄位如下:

id 自動增加

contents 留言內容

messages_time 留言時間

回復表:reply

欄位如下:

id 自動增加

messages_id 關聯messages表的id

contents 回復的內容

reply_time 回復時間

2. 設計留言板頁面及保存留言數據

大概代碼如下:

form name=”form1″ method=”post” action=”index.php?action=ok”

texarea cols=”30″ rows=”10″ name=”contents”

/textarea

input type=”submit” value=”提交”

/form

?php

if($_GET[‘action’] == ‘ok’){

$contents = $_POST[‘contents’];

mysql_query(“insert into messages values(NULL,'”.$contents.”‘,now())”);

}

?

3. 顯示留言內容,遍曆數據表

?php

//包含數據連接代碼

require(‘data.php’);

$query = mysql_query(“select * messages”);

while($array = mysql_fetch_array($query)){

echo $array[‘contents’].”br”;

}

?

4. 回復的設計可以參照留言的設計

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/153350.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-14 03:05
下一篇 2024-11-14 03:05

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python字元串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字元串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字元串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變數和數…

    編程 2025-04-29
  • 倉庫管理系統代碼設計Python

    這篇文章將詳細探討如何設計一個基於Python的倉庫管理系統。 一、基本需求 在著手設計之前,我們首先需要確定倉庫管理系統的基本需求。 我們可以將需求分為以下幾個方面: 1、庫存管…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Python實現簡易心形代碼

    在這個文章中,我們將會介紹如何用Python語言編寫一個非常簡單的代碼來生成一個心形圖案。我們將會從安裝Python開始介紹,逐步深入了解如何實現這一任務。 一、安裝Python …

    編程 2025-04-29
  • 怎麼寫不影響Python運行的長段代碼

    在Python編程的過程中,我們不可避免地需要編寫一些長段代碼,包括函數、類、複雜的控制語句等等。在編寫這些代碼時,我們需要考慮代碼可讀性、易用性以及對Python運行性能的影響。…

    編程 2025-04-29
  • Python愛心代碼動態

    本文將從多個方面詳細闡述Python愛心代碼動態,包括實現基本原理、應用場景、代碼示例等。 一、實現基本原理 Python愛心代碼動態使用turtle模塊實現。在繪製一個心形的基礎…

    編程 2025-04-29

發表回復

登錄後才能評論