當前位置:首頁 » 編程語言 » php留言板設計

php留言板設計

發布時間: 2022-09-27 23:00:24

A. phpcms留言板怎麼製作

phpcms
v9留言板的製作方法有兩種
一種是直接應用phpcms官方自己製作的
v9的插件
直接拷入根目錄
後台系統會自動默認
下載地址
以及製作方式
我空間有詳細列出
另一種是利用
模板里的
表單向導功能
自己製作

B. 請問前輩們我想實現一個PHP留言板,頁面不用刷新就能顯示提交的內容!

前端頁面中加jquery(javaScript)代碼:

functionbtn_click(){
varurl='php_ajax_example.php';
varcomment='這是你的評論內容';//你自己看怎麼獲取它,
//例如你把評論放在<textareaid="comment"></textarea>中,
//varcomment=$.trim($("#comment").html());
varuserid=123;//評論者的id(如果要求已登錄)
varusername='jack';//評論者名字
varemail='[email protected]';
$.post(url,
{comment:comment,id:userid,name:username,email:email},
function(back_data){
alert(back_data);
});
}
<buttononclick="btn_click();">提交評論</button>

新建一個文件:php_ajax_example.php,代碼:

<?php
varcomment=$_POST['comment'];
varuserid=$_POST['id'];
//......補上你需要的數據
//把以上數據存入資料庫
echo'評論保存成功!';
?>

C. php留言板項目的項目描述怎麼寫

本項目需要php+mysql來實現。
首先需要分析資料庫:
需要建立用戶表(user)
表中欄位:編號(id int primary key auto_increment),昵稱(nickname varchar(255)),性別(sex int(1) 男為1,女為0),郵箱(email varchar(255)),注冊時間(reg_time varchar(255) 時間戳)
還需要建立留言表(leaveword)
表中欄位:編號(id int primary key auto_increment),留言用戶編號(user_id int),留言內容(content text),留言時間(leaveword_time varchar(255))
建完表並插入一些測試數據後,就開始設計頁面了。
當用戶登錄後,需要把用戶的id存入session中$_SESSION['user_id'],以便用來驗證用戶是否登錄,是否有許可權發表留言。
用戶進入到留言頁面中以後,需要分頁展示其他(包括自己)的留言。這是本人寫的分頁函數給你作為參考:
function getPageNum($table,$pagesize=10,$where="1=1"){ //這個函數用來獲得總記錄數
global $db;
$html="";
$sql="select * from ".$table." where ".$where;
$re=$db->sql_query($sql);
$num=$db->sql_numrows($re);
$pageNum=ceil($num/$pagesize);
return $pageNum;
}
function paging($table,$pagesize=10,$nowpage=1,$where="1=1",$url=""){ //這個函數用來獲得分頁字元串
global $db;
$html="";
$sql="select * from ".$table." where ".$where;
$re=$db->sql_query($sql);
$num=$db->sql_numrows($re);
$pageNum=ceil($num/$pagesize);
if($nowpage-2<=2){
$start=1;
}else if($nowpage>=$pageNum-2){
$start=$pageNum-4;
}else{
$start=$nowpage-2;
}
$end=($start+4>=$pageNum)?$pageNum:$start+4;
$html.="<a href='?page=1'>首頁</a>";
for($i=$start;$i<=$end;$i++){
if($url==""){
$html.="<a href='?page=".$i."'>".$i."</a>";

}else{
$html.="<a href='?page=".$i."&".$url."'>".$i."</a>";
}
}
$html.="<a href='?page=".$pageNum."'>尾頁</a>";
return $html;
}
當用戶提交留言時,應該就不用多說了。當用戶點擊提交(submit)後,以$_POST或以$_GET來接提交的值,然後寫個插入語句
insert into leaveword values();這個不用我多說,你應該會吧。
說實在的留言確實沒多少東西,惟一的難點就是,如何把用戶的留言以分頁的形式顯示。
再難一點,就是在提交留言時,用ajax來做,達到頁面無刷新的效果。
這是本人的一點心得,希望可以對你寫項目描述有幫助。

D. php留言板的回復怎麼做

首先得設計好資料庫,留言一個表,回復一個表,然後把留言表中關鍵字ID關聯到回復表中。
比如:
留言表:message
id
contents
user
time
回復表:reply
id
m_id 關聯留言表中的id
contents
user
time

然後程序方面把對應的留言、回復保存到相應的表中,讀取的時候先遍歷留言表,然後通過留言表id再讀取對應的回復數據。

E. phpcms留言板怎麼製作

phpcms v9留言板的製作方法有兩種 一種是直接應用phpcms官方自己製作的 v9的插件 直接拷入根目錄 後台系統會自動默認 下載地址 以及製作方式 我空間有詳細列出 另一種是利用 模板里的 表單向導功能 自己製作

F. php 留言板 留言和回復

看了你的問題.和資料庫的2個表設計.
1.先確定數據表的設計.
留言表 message
欄位:
msgid
uid
content
postdate

回復表replies
repliesid
uid
msgid
content
postdate

這樣的設計表,我認為是最好的。符合資料庫的範式,主要是簡單明了,簡單就意味著性能.

2.怎麼把資料庫合理的提取出來,只能說是從代碼上著手.
第一種最直接的方法。
$sql = "select * FROM message order postdate desc";
得到$messages留言的數組
foreach ($message as $key => $value) {
$sql = "select * from replies where msgid = ".$value['msgid'];
得到留言對應的回復$replies
$message[$key]['replies'] = $replies;
}
最終得到數組$message;
前台顯示:
foreach( $messsage as $key => $value ) {
echo $value[『content']; //顯示留言
foreach( $value['replies'] as $k => $val ) {
echo $val['content'];//顯示該留言下的恢復
}
}

第二中方法,我比較喜歡,而且也一直在用
$sql = "select * FROM message order postdate desc";
得到$messages;
通過處理得到,數組$messages中的所有msgid,並存入一維數$msgids
$msgids = array();
$result = array(); //這個數組轉化$messages用的.因為我們要把$messages的key值變成msgid
foreach( $message as $key => $value ) {
$msgids[] = $value['msgid'];
$result[$value['msgid']] = $value;
}
unset($messages); 這個數據就沒有用了。因為已經有$result;

一次性查詢出,這些留言需要的所有回復,$replies;
$sql = "select * from replies WHERE msgid in (".implode(',',$msgids).") order by postdate desc";
foreach( $replies as $key => $value ){
$result[$value['msgid']]['replies'][] = $value;
}

前台顯示:
foreach( $resultas $key => $value ) {
echo $value[『content']; //顯示留言
foreach( $value['replies'] as $k => $val ) {
echo $val['content'];//顯示該留言下的恢復
}
}

G. php怎麼在mysql創建留言板步驟

工具:
Dreamweaver
php、mysql伺服器
步驟/方法
首先是確定自己的留言板需求.例如:名字,郵件及留言內容.
一. 建立一個資料庫guestbook。
CREATE TABLE IF NOT EXISTS `content` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(20) NOT NULL,
`email` varchar(50) NOT NULL,
`content` varchar(200) NOT NULL,
PRIMARY KEY (`id`))
ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=3;
二. 新建config.php
< ? php
$q = mysql_connect("伺服器","資料庫用戶","資料庫密碼");
if(!$q)
{
die('Could not connect: ' . mysql_error());
}
mysql_query("set names utf8"); //以utf8讀取數據
mysql_select_db("guestbook",$q); //資料庫
?>
三. 新建index.php
< ?php
include("config.php"); //引入資料庫連接文件
$sql = "select * from content"; //搜索數據表content
$resule = mysql_query($sql,$q);
?>
< html>
< meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
< body>
< table width="678" align="center">
< tr>
< td colspan="2">< h1>留言本< /h1>< /td>
< /tr>
< tr>
< td width="586">< a href="index.php">首頁< /a> | < a href="liuyan.php">留言< /a>< /td>
< /tr>
< /table>
< p>
< ?
while($row=mysql_fetch_array($resule))
{
?>
< /p>
< table width="678" border="1" align="center" cellpadding="1" cellspacing="1">
< tr>
< td width="178">Name:< ? echo $row[1] ?>< /td>
< td width="223">Email:< ? echo $row[2] ?>< /td>
< /tr>
< tr>
< td colspan="4">< ? echo $row[3] ?>< /td>
< /tr>
< tr>
< /table>
< ?
}
?>
< /body>
< /html>
四. 新建liuyan.php
< html>
< body>
< meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
< table width="678" align="center">
< tr>
< td colspan="2">< h1>留言本< /h1>< /td>
< /tr>
< tr>
< td width="586">< a href="index.php">首頁< /a> | < a href="liuyan.php">留言< /a>< /td>
< /tr>
< /table>
< table align="center" width="678">
< tr>
< td>
< form name="form1" method="post" action="post.php">
< p>
Name:
< input name="name" type="text" id="name">
< /p>
< p>Email:< input type="test" name="email" id="email">< /p>
< p>
留言:
< /p>
< p>
< textarea name="content" id="content" cols="45" rows="5">< /textarea>
< /p>
< p>
< input type="submit" name="button" id="button" value="提交">
< input type="reset" name="button2" id="button2" value="重置">
< /p>
< /form>
< /td>
< /tr>
< /table>
< /body>
< /html>
五. 新建post.php
< ?php
header("content-Type: text/html; charset=utf-8");
include("config.php");
$name= $_POST['name'];
$email= $_POST['email'];
$patch = $_POST['content'];
$content = str_replace("
","< br />",$patch);
$sql = "insert into content (name,email,content) values ('$name','$email','$content')";
mysql_query($sql);
echo "< script>alert('提交成功!返回首頁。');location.href='index.php';< /script>";
?>
這樣已經成功的寫出一個留言板了。
第二部分
此次將在上面版本上加多管理,回復等功能。
首先在sql中位元組。
ALTER TABLE `content` ADD `reply` VARCHAR( 200 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `content`
一. 新建login.php
< html xmlns="http://www.w3.org/1999/xhtml">
< meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
< title>無標題文檔< /title>
< /head>
< body>< table width="678" align="center">
< tr>
< td colspan="2">< h1>留言本< /h1>< /td>
< /tr>
< tr>
< td width="586">< a href="index.php">首頁< /a> | < a href="liuyan.php">留言< /a>< /td>
< /tr>
< /table>
< table align="center" width="678">
< tr>
< td align="center">
< form name="form1" method="post" action="login2.php">
< label for="textfield">< /label>
< p> < /p>
< p>帳號:
< input type="text" name="name" id="name">
< /p>
< p>密碼:
< input type="password" name="pw" id="pw">
< /p>
< p>
< input type="submit" name="button" id="button" value="提交">
< input type="reset" name="button2" id="button2" value="重置">
< /p>
< /form>< /td>
< /tr>
< /table>
< /body>
< /html>
二.login2.php
< ?
session_start();
header("content-Type: text/html; charset=utf-8");
$name = $_POST['name'];
$pw = $_POST['pw'];
if($name == "admin" && $pw == "admin"){
$_SESSION["adminname"] = $name;
echo "< script>alert('登錄完成,返回首頁!');location.href='index.php';< /script>";
}else{
echo "< script>alert('錯誤!');location.href='login.php';< /script>";
}
?>
三. 在原有的index.php上添加
< ?php
session_start();
include("config.php");
$sql = "select * from content";
$resule = mysql_query($sql,$q);
?>
< html>
< meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
< body>
< table width="678" align="center">
< tr>
< td colspan="2">< h1>留言本< /h1>< /td>
< /tr>
< tr>
< td width="586">< a href="index.php">首頁< /a> | < a href="liuyan.php">留言< /a>< /td>
< td width="80">
// 新增管理員登錄
< ?php
if (isset($_SESSION['adminname']) && $_SESSION["adminname"] == "admin"){
echo "< a href='logout.php'>登出< /a>";
}else{
echo "< a href='login.php'>管理員登錄< /a>";
}
?>
< /td>
< /tr>
< /table>
< p>
< ?
while($row=mysql_fetch_array($resule))
{
?>
< /p>
< table width="678" border="1" align="center" cellpadding="1" cellspacing="1">
< tr>
< td width="178">Name:< ? echo $row[1] ?>< /td>
< td width="223">Email:< ? echo $row[2] ?>< /td>
< td width="100">
< ?php
if(isset($_SESSION['adminname']) && $_SESSION["adminname"] == "admin"){
echo "< a href='huifu.php?id=" . $row[0] . "'>回復< /a>";
echo " | " . "< a href='delete.php?id=" . $row[0] . "'>刪除< /a>";
} else {
echo "";
}
?>
< /td>
< /tr>
< tr>
< td colspan="4">< ? echo $row[3] ?>< /td>
< /tr>
< tr>
< td colspan="4">< ?
if($row[4] == ""){
?>
< ? echo "暫無回復。";?>
< ? }else {echo "管理員回復:". $row[4]; } ?>< /td>
< /tr>
< /table>
< ?
}
?>
< /body>
< /html>
四. 新建huifu.php
< ?php
include("config.php");
$sql = "select * from content where id=".$_GET["id"];
$resule = mysql_query($sql,$q);
SetCookie("id",$_GET["id"]);
session_start();
header("content-Type: text/html; charset=utf-8");
if(empty($_SESSION["adminname"])){
exit("< script language='javascript'>alert('您尚未登錄後台,或登錄已超時,請重新登錄!');window.location.href='login.php';< /script>");
}
?>
< !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>
< table width="678" align="center">
< tr>
< td colspan="2">< h1>留言本< /h1>< /td>
< /tr>
< tr>
< td width="586">< a href="index.php">首頁< /a> | < a href="liuyan.php">留言< /a>< /td>
< /tr>
< /table>
< table align="center" width="678">
< tr>
< td>
< form name="reply" method="post" action="reply.php" >
< p>回復:
< ?
while($row=mysql_fetch_array($resule))
{
echo $row[3];
}
?>
< /p>
< p>
< textarea name="reply" id="reply" cols="45" rows="5">< /textarea>
< /p>
< p>
< input type="submit" name="button" id="button" value="回復" />
< input type="reset" name="button2" id="button2" value="重置" />
< /p>
< /form>
< /td>
< /tr>
< /table>
< /body>
< /html>
五. reply.php 回復留言提交頁面.
< ?
include("config.php");
$id = $_COOKIE["id"];
$sql = "select * from content";
header("content-Type: text/html; charset=utf-8");
$patch = $_POST["reply"];
$reply = str_replace("
","< br />",$patch);
$resule = mysql_query("UPDATE `2`.`content` SET `reply` = '$reply' WHERE `content`.`id` ="."$id");
echo "< script>alert('回復成功!');location.href='index.php';< /script>";
?>
這樣就可以建立出一個簡單的管理.管理帳號都是admin 因為只是判別輸入的是不是admin 是的話就把值輸入進session中.

H. 求php語言編寫的留言板源碼!!!!!!!!!

這是一個簡單的留言本,目前還沒有後台管理程序。如果哪位高手能補上,那就太好了。

演示在http://www.ideawu.net/person/liuyan

留言保存在message.txt文件中,留言的格式為:date<$>ip<$>name<$>content
"<$>"為分隔符號

注意:源碼文件和message.txt文件必須以gbk格式保存。如果你不知道如何保存文件為gbk格式,請咨詢你的文本編輯器軟體提供商。

/****************************************
* 本代碼可以用作任何用途,但是與作者無關。
* 也就是,你使用本代碼獲取收益或者因此受
* 到損害,後果與作者無關。
****************************************/

file: index.php
代碼:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
<title>留言板</title>
<link rel="stylesheet" href="../msg.css" type="text/css">
</head>
<body>
<br><B><FONT COLOR="#0000FF">圖片留言板</FONT></B>
<center>
<table width="800" border="1" bordercolor="#88CCEE" cellspacing="0" cellpadding="4" style="border-collapse:collapse; word-break:break-all">
<tr><td style="border-right-style: none">
<form method="post" action="savemsg.php" style="font-size: 13px">
姓名:<br><input type="text" name="guest_name" maxlength=32 size=32><br>
留言:(字數:<font color="#0000FF"><span id=sNum>0</span></font>/256)<br>
<textarea class="textForm" name="guest_msg" cols="64" rows="8" onkeyup="sNum.innerHTML=this.value.length"></textarea><br>
<input class="button" type="submit" name="submit" value="發表留言">
<input class="button" type="reset" value="重置" name="reset">
</form>
</td></tr>
</table>
<?php
include("showmsg.php");
if(!empty($_GET['p'])){
$num=$_GET['p'];
showpage($num);
}else showpage(1);
?>
</center>
</body>
</html>

file: showmsg.php
代碼:

<?php
function showpage($p)
{ ?>
<table width="800" border="0" bordercolor="#88CCEE" cellspacing="0" cellpadding="4" style="border-collapse:collapse; word-break:break-all;font-size:12px;">
<tr><td>
<p style="line-height: 100%; margin-top: 1; margin-bottom: 1" align="left">
<?php
$perPage=7; //每頁顯示留言數目
$num=$p;
if($num<1) $num=1;
$prev=$num-1;
$next=$num+1;
$page=$num-1; //當前頁碼
$fname="message.txt"; //存儲留言的文件
$all_msg=file($fname); //將留言讀入數組
$line_count=count($all_msg);
$page_count=ceil($line_count/$perPage);
if($prev>0)
echo "<a href=index.php?p=$prev>上一頁</a>";
else
echo "上一頁";
if($line_count>($next-1)*$perPage)
echo "<a href=index.php?p=$next>下一頁</a>";
else
echo "下一頁";
echo "當前第 ".$num." 頁,共有".$page_count."頁,".$line_count."條留言。";
?>
</p></td></tr>
</table>
<table width="800" border="1" bordercolor="#88CCEE" cellpadding="3" cellspacing="0" style="border-collapse:collapse; font-size:12px; word-break:normal; table-layout:fixed;">
<tr height="18" bgcolor="#5FBEF8"><td width="20%">
<b>留言時間/留言者</b></td><td width="86%"><b>留言內容</b>
</td></tr>
<?php
//顯示留言
$bg1="#FBF9F9"; $bg2="#E9EFF4";$bg=$bg2;
for($n=$line_count-1-$page*$perPage;$line_count-1-$page*$perPage-$n<$perPage;$n--){
$bg=($bg==$bg1)? $bg2:$bg1; //變換背景顏色
if(!empty($all_msg[$n])){
list($date,$ip,$name,$msg)=explode("<$>",$all_msg[$n],4); //獲取留言內容
echo "<tr bgcolor=$bg>";
echo "<td width=14%>".$date."<br><b>".$name."</b></td>";
echo "<td width=86%>".$msg."</td>";
echo "</tr>";
}
}
?>

</table>
<table width="800" border="0" bordercolor="#88CCEE" cellspacing="0" cellpadding="4" style="border-collapse:collapse; word-break:break-all;font-size:12px">
<tr><td>
<p style="line-height: 100%; margin-top: 2; margin-bottom: 2" align="left">
<?php
if($prev>0)
echo "<a href=index.php?p=$prev>上一頁</a>";
else
echo "上一頁";
if($line_count>($next-1)*$perPage)
echo "<a href=index.php?p=$next>下一頁</a>";
else
echo "下一頁";
echo "當前第 ".$num." 頁,共有".$page_count."頁,".$line_count."條留言。";
?>
</p></td></tr>
</table>
<?php } ?>

file: savemsg.php
代碼:

<?php
$MSG_MAX_LEN=512; //留言最大長度
if (getenv("HTTP_CLIENT_IP"))
$ip= getenv("HTTP_CLIENT_IP");
elseif (getenv("HTTP_X_FORWARDED_FOR"))
$ip= getenv("HTTP_X_FORWARDED_FOR");
else
$ip= getenv("REMOTE_ADDR");
//獲取IP地址結束
$date=date("Y年m月d日 H:i:s",time());
if(empty($_POST['guest_name']))
die("請填你的名字。<a href=index.php>Refresh</a>");
if(empty($_POST['guest_msg']))
die("請填寫留言內容再提交。<a href=index.php>Refresh</a>");
$guest_name=strip_tags($_POST['guest_name']);
$guest_msg=substr($_POST['guest_msg'],0,$MSG_MAX_LEN);
//write message to file
//make the message be a line when stored
$guest_msg = str_replace( "\r\n", "\n", $guest_msg);
$guest_msg = str_replace( "\r", "\n", $guest_msg);
$guest_msg = str_replace(" "," ",$guest_msg);
$guest_msg = str_replace(">",">",$guest_msg);
$guest_msg = str_replace("<","<",$guest_msg);
$guest_msg = str_replace("\'","'",$guest_msg);
$guest_msg = nl2br($guest_msg);
//保存留言,以追加的形式
$fname="message.txt";
$fp=fopen($fname,"a+");
fwrite($fp,$date."<$>".$ip."<$>".$guest_name."<$>".$guest_msg."\n");
fclose($fp);
echo "<meta http-equiv='refresh' content='0;url=index.php'>";
?>

用於顯示效果的樣式表文件
file: msg.css
代碼:

A:link {
color: #0033FF;
text-decoration: none;
}

A:visited {
color: #0033FF;
text-decoration: none;
}

A:hover {
color: #30A300;
text-decoration: underline;
}

A:active {
color: #0036A9;
text-decoration: none;
}

BODY{
font-family: Verdana,Arial,Helvetica,sans-serif;
font-size: 12px;
background: #FBF9F9;
}

TABLE{
font-family: Verdana,Arial,Helvetica,sans-serif;
font-size: 12px;
border-collapse: collapse;
table-layout: fixed;
margin: 0px;
}

I. 用php,mysql製作留言板

你的程序一開始就已經require deal.php了,不明白為什麼form裡面的action還是指向deal.php,把那個action='',自然就可以了。

J. php設計的留言板 ,如何把從資料庫查詢出來的結果集,按新舊時間排序

關鍵出現在sql語句上,你在sql語句後面加 ORDER BY 你的時間欄位 DESC 這樣就是按照最新的排序l .

熱點內容
安卓顯示e是什麼意思 發布:2024-12-26 10:35:13 瀏覽:703
電磁爐編程 發布:2024-12-26 10:30:51 瀏覽:95
經典福克斯壓縮比是多少 發布:2024-12-26 10:26:33 瀏覽:745
存取速度最快的存儲器是 發布:2024-12-26 10:17:39 瀏覽:66
我的世界伺服器只能邊跳邊走 發布:2024-12-26 09:55:26 瀏覽:462
銹湖綠色盒子密碼是什麼 發布:2024-12-26 09:53:16 瀏覽:203
mysql資料庫連接類 發布:2024-12-26 09:49:21 瀏覽:81
體演算法 發布:2024-12-26 09:29:22 瀏覽:842
android時間時區時間 發布:2024-12-26 09:09:54 瀏覽:689
外殼加密狗 發布:2024-12-26 08:57:59 瀏覽:844