用PHP構建一個留言本
來源:互聯網
上載者:User
下面是配置說明:
為了配置的方便,重新整理了代碼,現在已經把全部的需要設定的參數都放在config.php檔案裡了,配置起來應該很簡單,裡面有詳悉的說明.
目標:在十分種內搞定你的留言本!!!
1: 建立一個資料庫(要首頁提供資料庫空間)
一般的有phpMyAdmin開放源瑪的前端.建立以來很簡單的. 取好名字後,記得把config.php 的$db_name改成這個名字
2: 建立留言資料表表(等下把config.php的$table_name改成這裡你起的名字).
結構為:
key_liuyan int(11) auto_increment primary key, //主建,自動增加
nikename varchar(20) null // 暱稱
subject varchar(100) null // 留言主題
date_created varchar(19) // 留言時間
ip_address varchar(15) // 留言人的IP地址
message mediumtext null // 留言資訊
email_address varchar(50) null // 留言人的e-mail地址
zhuye_address varchar(50) null // 留言人的首頁地址
huifu_biaozi int(1) default 0 // 版主回複標誌
huifu mediumtext null // 版主回複內容
oicq varchar(20) null // 留言人的OICQ號碼
可以用如下的SQL來完成!!!(本人測試通過,記得把yourtable_name改成好記點的, 當然不改也行阿)
create table your_liuyan_table(
key_liuyan int(11) auto_increment primary key,
nikename varchar(20) null,
subject varchar(100) null,
date_created varchar(19) ,
ip_address varchar(15),
message mediumtext null,
email_address varchar(50) null,
zhuye_address varchar(50) null,
huifu_biaozi int(1) default 0 ,
huifu mediumtext null,
oicq varchar(20) null
)
3: 建立控製表:(同樣要把這裡起的名字放到config.php的$table_name_control裡去)
結構如下:
leibie varchar(20) primary key,
value varchar(20) null
也可以用下面的SQL語句:
create table your_control_table(
leibie varchar(20) primary key,
value varchar(20) null
)
因為這是你的控製表,所以要自己加入控制記錄兩條;
SQL語句為:
插入刪除密碼:
insert into your_control_tble( leibie, value)
values (delete,'1332');
插入回複密碼:
insert into your_control_tble( leibie, value)
values (huifu,'1332');
這樣放進去的密碼為:123,使用者名稱為空白!
怎麼計算密碼和插入的值的關係呢?
是這樣的,你的密碼 ,如123 把三位元上的各位加起來,等於6,然後把6乘以222就是密碼值!!!
6*222=1332.
知道了這關係,當然你可以改成其它的密碼了.
不過使用者名稱要為空白,,,
4: 一切完成,然後只要把除了readme.txt外的檔案上傳就行了.
post.php 檔案
<?php
require('config.php');
?>
<?php
$nikename=$arr_request['nikename'];
if (strlen($nikename)==0)
{
echo "<center>";
echo "<h2><font color=red>錯誤資訊!</font></h2>";
echo "對不起,<font color=red>呢稱</font>必須填寫!!! 請重填!<br>";
echo "<hr></hr>";
echo "免費留言本由<a href=http://little.oso.com.cn>小熊</a>提供支援人員";
echo "</center>";
exit ;
}
$date_now=date('Y/m/d H:i:s');
$ip_address=getenv("REMOTE_ADDR");
$messageold=$arr_request['message'];
//$pattern="/n/";
//$replacement="<br>";
$message=computer_message($messageold,$hang_zifu_number);
$subjectold=$arr_request['subject'];
if (strlen($subjectold)>$hang_zifu_number)
$subject=computer_message($subjectold,$hang_zifu_number);
else
$subject=$subjectold;
$str_sql=" insert into $table_name
(nikename,subject,date_created,ip_address,message,email_address,zhuye_address,oicq)
values
( '$nikename',
'$subject',
'$date_now',
'$ip_address',
'$message',
'".$arr_request['email_address']."',
'".$arr_request['zhuye_address']."',
'".$arr_request['oicq']."'
)";
$result=mysql_db_query($db_name,$str_sql,$id_link);
if (! $result){
affy_error_exit('SQL Insert Execution has failed.');
}
else
{
echo "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">";
echo "<HTML><HEAD><TITLE>發表文章</TITLE>";
echo "<META content="text/html; charset=gb2312" http-equiv=Content-Type>";
echo "<meta HTTP-EQUIV="REFRESH" CONTENT="2;URL=display.php">";
echo "</head><body topmargin="0"><br>";
echo "<ul>謝謝你發表留言,將自動顯示留言內容";
echo " <br>";
echo "<a href=display.php>如果你的瀏覽器沒有自動的返回到留言簿首頁,?
請點這裡返回.";
echo "</a></ul>";
exit;
}
?>
index.html 檔案
<html>
<center>
<title>謝謝你的留言!</title>
<h1><font color=blue>我的留言本</font></h1>
<font color=navy>首先感謝你的留言,你的每一句話我都會仔細閱讀!!!</font>
<form action="post.php" method="post">
<table>
<tr>
<td><font color=teal>呢稱:</font><font color=red>(不可為空)</font></td><td>
<input type="text" name="nikename" value=""></td>
</tr>
<tr>
<td>OICQ號碼:</td><td>
<input type="text" name="oicq" value=""></td>
</tr>
<tr>
<td>e-mail: </td><td>
<input type="text" name="email_address" value="" size="30"></td>
</tr>
<tr>
<td>個人首頁:</td><td>
<input type="text" name="zhuye_address" value="http://" size="40"></td>
</tr>
<tr><td>
主題:</td><td>
<input type="text" name="subject" size="40" ></td>
</tr>
<tr><td>
內容:</td><td> </td>
</tr>
<tr><td colspan="2">
<textarea name="message" cols="60" rows="8"></textarea></td>
</tr>
<tr>
<td>
<input type="submit" value="完成留言">
</td>
<td>
<input type="reset" value="重新來過">
</td>
</tr>
</table>
</form>
<p>
<a href=display.php>查看留言</a>
<hr></hr>
免費留言本由<a href="http://little.oso.com.cn" >小熊</a>提供支援人員
</center>
</html>
display.inc檔案!!!
<tr bgcolor=>
<td>
<a href=mailto:<?php echo $record->email_address ?> >
<font color="blue" size=4><strong><?php echo $record->nikename ?></strong></font>
</a>
</td>
<td><font color="navy">留言時間:<?php echo $record->date_created ?></font></td>
<td>來自:
<?php
$ip_address=ip_question($record->ip_address);
echo $ip_address;
?>
</td>
</tr>
<tr bgcolor=>
<th colspan=3 align=left>主題:<font color=teal><?php echo $record->subject ?></font></th>
</tr>
<tr><th colspan=3 align=left><font color="#416AAF">
<?php echo $record->message ?></font></th>
</tr>
<?php
if ($record->huifu_biaozi)
{
?>
<tr><th colspan=3 align=left><font color="red"><br><br>版主回複:</font><font color="navy">
<?php echo $record->huifu ?></font></th>
</tr>
<?php
}
?>
<tr>
<th colspan=3 align=left><br>
<a href=mailto:<?php echo $record->email_address ?> >
<img src=http://www.163design.net/p/b/image/mail.gif
alt="<?php echo $record->nikename ?>的e-mail地址是:<?php echo $record->email_address ?> "
border="0" width="15" length="15">郵件</a>
<a href=<?php echo $record->zhuye_address ?>><img src=http://www.163design.net/p/b/image/home.gif
alt="<?php echo $record->nikename ?>的首頁地址是:<?php echo $record->zhuye_address ?> "
border="0"
width="14" length="14" >首頁</a>
<img src=http://www.163design.net/p/b/image/oicq.gif border="0" alt="<?php echo $record->nikename?>的OICQ是:
<?php echo $record->oicq ?>"
width="14" length="14" >OICQ</a>
<a href=action.php?action=delete&key_liuyan=<?php echo $record->key_liuyan ?>><img src=http://www.163design.net/p/b/image/del.gif border="0" width="12" length="12" alt="只有版主才有刪除的許可權哦!">刪除</a>
<a href=action.php?action=huifu&key_liuyan=<?php echo $record->key_liuyan ?> ><img src=http://www.163design.net/p/b/image/replay.gif border="0" width="14" length="14" alt="不好意思,現在暫時只有版主才能回複">回複</a>
</th></tr>
<tr>
<td colspan="3"><hr SIZE ="1"></td>
</tr>