手机
当前位置:查字典教程网 >编程开发 >php教程 >PHP+MySQL 制作简单的留言本
PHP+MySQL 制作简单的留言本
摘要:留言显示页面:比上一个例子增加了分页和留言回复的功能主要代码:install/index.php:程序安装页面复制代码代码如下:MySQL主...

PHP+MySQL 制作简单的留言本1

留言显示页面:比上一个例子增加了分页和留言回复的功能

PHP+MySQL 制作简单的留言本2

主要代码:

install/index.php:程序安装页面

复制代码 代码如下:

<?php

if($_GET["action"]!=1)

{

?>

<form method="post" action="index.php?action=1">

<table border="1">

<tr>

<td>MySQL主机名:</td>

<td><input type="text" name="host" value="localhost"></td>

</tr>

<tr>

<td>MySQL用户名:</td>

<td><input type="text" name="user" value="root"></td>

</tr>

<tr>

<td>MySQL密码:</td>

<td><input type="password" name="password" value=""></td>

</tr>

<tr>

<td>数据库名称:</td>

<td><input type="text" name="database" value="ruizhi_messageboard"></td>

</tr>

<tr>

<td>留言本每页记录数:</td>

<td><input type="text" name="pagenum" value="10"></td>

</tr>

<tr>

<td>管理员账号:</td>

<td><input type="text" name="admin_name" value="admin"></td>

</tr>

<tr>

<td>管理员密码:</td>

<td><input type="text" name="admin_password" value="admin"></td>

</tr>

<tr>

<td>留言本标题:</td>

<td><input type="text" name="boardname" value="RUIZHINET留言本"></td>

</tr>

<tr>

<td colspan="2" align="center"><input type="submit" name="submit" value="确定安装"> <input type="button" name="submit" value="关闭页面"></td>

<td></td>

</tr>

</table>

</form>

<?php

}else{

@set_time_limit(1000);

$lockfile = "install.lock";

$host="localhost";

$user="root";

$password="";

$database="ruizhi_messageboard";

$pagenum=10;

$admin_name="admin";

$admin_password="123456";

$boardname="RUIZHINET留言本";

if($_POST["host"]!=""){

$host=$_POST["host"];

}

if($_POST["user"]!=""){

$user=$_POST["user"];

}

if($_POST["password"]!=""){

$password=$_POST["password"];

}

if($_POST["database"]!=""){

$database=$_POST["database"];

}

if($_POST["pagenum"]!=""){

$pagenum=$_POST["pagenum"];

}

if($_POST["admin_name"]!=""){

$admin_name=$_POST["admin_name"];

}

if($_POST["admin_password"]!=""){

$admin_password=$_POST["admin_password"];

}

if($_POST["boardname"]!=""){

$boardname=$_POST["boardname"];

}

if(file_exists($lockfile)){

exit("已经安装过了,如果要重新安装请先删除install/install.lock");

}

$conn=mysql_connect($host,$user,$password);

if($conn){

$sql_drop_database="DROP DATABASE IF EXISTS `".$database."`";

$sql_create_database="CREATE DATABASE `".$database."`";

$sql_create_table_messageboard="CREATE TABLE `messageboard` (

`id` int(11) NOT NULL auto_increment,

`author` varchar(15) NOT NULL,

`title` varchar(30) NOT NULL,

`smiles` varchar(30) NOT NULL,

`content` mediumtext,

`photo` varchar(30) NOT NULL,

`addtime` int(11) default NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=gbk AUTO_INCREMENT=1";

$sql_create_table_reply="CREATE TABLE `reply` (

`id` int(11) NOT NULL auto_increment,

`msgid` int(11) NOT NULL,

`content` mediumtext,

`addtime` int(11) default NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=gbk AUTO_INCREMENT=1";

if(mysql_query($sql_drop_database,$conn)){

if(mysql_query($sql_create_database,$conn)){

mysql_select_db($database,$conn);

if(mysql_query($sql_create_table_messageboard,$conn) && mysql_query($sql_create_table_reply,$conn)){

$config_file="../config.php";

$config_strings="<?phpn";

$config_strings.="$boardname="".$boardname."";n";

$config_strings.="$host="".$host."";n";

$config_strings.="$user="".$user."";n";

$config_strings.="$password="".$password."";n";

$config_strings.="$database="".$database."";n";

$config_strings.="$pagenum="".$pagenum."";n";

$config_strings.="$admin_name="".$admin_name."";n";

$config_strings.="$admin_password="".$admin_password."";n";

$config_strings.="$conn=mysql_connect($host,$user,$password);n";

$config_strings.="mysql_select_db($database,$conn);n";

$config_strings.="?>";

if($fp=fopen($config_file,"wb")){

if(fwrite($fp,$config_strings)){

if($fp2 = fopen($lockfile, 'w'))

{

fwrite($fp2,'1212');

fclose($fp2);

}

echo "安装成功!配置文件为:config.php,您可以手工修改该文件";

echo "n<a href='../index.php'>进入系统首页</a>";

}else{

exit("文件写入失败");

}

fclose($fp);

}

}else{

exit("不能执行CREATE TABLE语句:".$sql_create_table);

}

}else{

exit("不能执行CREATE DATABASE语句:".$sql_create_database);

}

}else{

exit("不能执行DROP DATABASE语句:".$sql_drop_database);

}

}else{

exit("连接数据库失败,请检查MySQL主机名、用户名和密码");

}

}

生成的config.php文件:

复制代码 代码如下:

<?php

$boardname="RUIZHINET留言本";

$host="localhost";

$user="root";

$password="";

$database="ruizhi_messageboard";

$pagenum="10";

$admin_name="admin";

$admin_password="admin";

$conn=mysql_connect($host,$user,$password);

mysql_select_db($database,$conn);

?>

index.php:程序显示页面

复制代码 代码如下:

<?php

if(!$_GET["page"]){

$page=1;

}else{

$page=$_GET["page"];

}

$sql="SELECT id FROM messageboard";

$result=mysql_query($sql,$conn);

$row_num=mysql_num_rows($result);

$page_count=ceil($row_num/$pagenum);

echo "当前共有".$row_num."条留言";

echo "共分".$page_count."页显示";

echo "当前为第".$page."页";

?>

<p>

<?php

if($row_num==0){

echo "暂时没有留言";

}else{

?>

<table border="1" width="700">

<?php

$offset=($page-1)*$pagenum;

$sql2="SELECT * FROM messageboard ORDER BY id DESC LIMIT $offset,$pagenum";

$result2=mysql_query($sql2,$conn);

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

$offset++;

echo "<tr>";

echo "<td align=left bgcolor=#CCCCFF>";

echo $offset.".<img src='smiles/".base64_decode($row[smiles])."'>";

echo base64_decode($row[title])." - ".base64_decode($row[author])." [".date("Y年m月d日",$row[addtime])."] ";

if(isset($_SESSION["admin_name"]) && $_SESSION["admin_name"]!=""){

echo "<a href=del.php?id=".$row["id"].">删除 | </a>";

echo "<a href=reply.php?id=".$row["id"].">回复</a>";

}

echo "</td></tr>";

echo "<tr><td align=left>".base64_decode($row["content"])."</td></tr>";

if($row["photo"]!="NONE")

{

echo "<tr><td align=left><img src='upfile/".base64_decode($row["photo"])."'></td></tr>";

}

$sql3="SELECT * FROM reply WHERE msgid=$row[id] ORDER BY id DESC";

$result3=mysql_query($sql3,$conn);

while($row3=mysql_fetch_array($result3)){

echo "<tr><td align=left bgcolor=#99CCFF>回复:".date("Y年m月d日",$row3[addtime]);

if(isset($_SESSION["admin_name"]) && $_SESSION["admin_name"]!=""){

echo "<a href=delreply.php?id=".$row3["id"].">删除</a>";

}

echo "</td></tr>";

echo "<tr><td align=left>".base64_decode($row3[content])."</td></tr>";

}

}

?>

<?php

if($page_count>1){

$prev_page=$page-1;

$next_page=$page+1;

if($page<=1){

echo "第一页 | ";

}else{

echo "<a href='index.php?page=1'>第一页</a> | ";

}

if($prev_page<1){

echo "上一页 | ";

}else{

echo "<a href='index.php?page=".$prev_page."'>上一页</a> | ";

}

if($next_page>$page_count){

echo "下一页 | ";

}else{

echo "<a href='index.php?page=".$next_page."'>下一页</a> | ";

}

if($page>=$page_count){

echo "最后一页";

}else{

echo "<a href='index.php?page=".$page_count."'>最后一页</a>";

}

}

?>

</table>

<?php

}

?>

<?php

if(isset($_SESSION["admin_name"]) && $_SESSION["admin_name"]!=""){

?>

<p><a href="logout.php">退出管理</a></p>

<?php

}else{

?>

<p><a href="login.php">登陆管理</a></p>

<?php

}

?>

saveadd.php:保存留言

复制代码 代码如下:

<?php

if(!$_POST["author"] || !$_POST["content"])

{

echo "<meta http-equiv="refresh" content="2;url=index.php">n";

echo "你没有填写留言姓名或内容,2秒钟返回首页";

exit();

}else{

$imgflag=0;

function random($length)

{

$hash = 'IMG-';

$chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz';

$max = strlen($chars) - 1;

echo (double)microtime() * 1000000;

for($i = 0; $i < $length; $i++)

{

$hash .= $chars[mt_rand(0, $max)];

}

return $hash;

}

function fileext($filename)

{

return substr(strrchr($filename, '.'), 1);

}

if($_FILES["upfile"]["name"]!=""){

$uploaddir="upfile/";

$type=array("jpg","gif","bmp","jpeg","png");

if(!in_array(strtolower(fileext($_FILES['upfile']['name'])),$type))

{

echo "<meta http-equiv="refresh" content="2;url=index.php">n";

$text=implode(",",$type);

echo "您只能上传以下类型文件: ",$text,"<br>";

exit();

}

else

{

$filename=explode(".",$_FILES['upfile']['name']);

do

{

$filename[0]=random(10);

$randname=implode(".",$filename);

$uploadfile=$uploaddir.$randname;

} while(file_exists($uploadfile));

if (move_uploaded_file($_FILES['upfile']['tmp_name'],$uploadfile)){

echo "上传图片成功";

$imgflag=1;

}

else{

echo "上传图片失败!";

$imgflag=0;

}

}

}

$author=base64_encode($_POST["author"]);

$content=base64_encode(ereg_replace("rn","<br>",htmlspecialchars($_POST["content"])));

$smiles=base64_encode($_POST["smiles"]);

if($_POST["title"]){

$title=base64_encode($_POST["title"]);

}else{

$title=base64_encode("无标题");

}

$addtime=time();

if($imgflag==1){

$photo=base64_encode($randname);

}else{

$photo="NONE";

}

//保存数据

$sql="INSERT INTO messageboard(author,title,smiles,content,photo,addtime) VALUES('$author','$title','$smiles','$content','$photo',$addtime)";

mysql_query($sql,$conn);

echo "<meta http-equiv="refresh" content="2;url=index.php">n";

echo "谢谢您的留言,2秒钟返回首页";

}

?>

savereply.php:保存回复

<?php

if(isset($_SESSION["admin_name"]) && $_SESSION["admin_name"]!="")

{

if(!$_POST["content"])

{

echo "<meta http-equiv="refresh" content="2;url=index.php">n";

echo "你没有填写回复内容,2秒钟返回首页";

exit();

}else{

$msgid=$_POST["msgid"];

$content=base64_encode(ereg_replace("rn","<br>",htmlspecialchars($_POST["content"])));

$addtime=time();

//保存数据

$sql="INSERT INTO reply(msgid,content,addtime) VALUES($msgid,'$content',$addtime)";

mysql_query($sql,$conn);

echo "<meta http-equiv="refresh" content="2;url=index.php">n";

echo "谢谢您的留言,2秒钟返回首页";

}

}

?>

【PHP+MySQL 制作简单的留言本】相关文章:

一个php作的文本留言本的例子(三)

PHP分页显示制作详细讲解

PHP4 与 MySQL 数据库操作函数详解

PHP处理密码的几种方式

用PHP制作静态网站的模板框架

PHP输出控制功能在简繁体转换中的应用

基于文本的留言簿

PHP基于MySQL数据库实现对象持久层的方法

PHP 和 MySQL 基础教程(二)

PHP4 与 MySQL 交互使用

精品推荐
分类导航