欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

用PHP构建一个留言本_PHP

程序员文章站 2022-04-04 13:42:25
...
  下面是配置说明:

  为了配置的方便,重新整理了代码,现在已经把全部的需要设置的参数都放在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=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=image/home.gif
alt="<?php echo $record->nikename ?>的主页地址是:<?php echo $record->zhuye_address ?> "
border="0"
width="14" length="14" >主页</a>
<img src=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=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=image/replay.gif border="0" width="14" length="14" alt="不好意思,现在暂时只有版主才能回复">回复</a>

</th></tr>

<tr>
<td colspan="3"><hr SIZE ="1"></td>
</tr>