PHP+MySQL 制作简单的留言本

前端之家收集整理的这篇文章主要介绍了PHP+MySQL 制作简单的留言本前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

主要代码
install/index.PHP:程序安装页面

代码如下:
PHP
if($_GET["action"]!=1)
{
?>
PHP?action=1">
MysqL主机名:MysqL用户名MysqL密码:数据库名称管理员账号:管理员密码:标题:
关闭页面" onclick="window.close()">
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,
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="PHP\n";
$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进入系统首页";
}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,$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."页";
?>


PHP
if($row_num==0){
echo "暂时没有留言";
}else{
?>

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 "echo "
";
echo $offset.".";
echo base64_decode($row[title])." - ".base64_decode($row[author])." [".date("Y年m月d日",$row[addtime])."] ";
if(isset($_SESSION["admin_name"]) && $_SESSION["admin_name"]!=""){
echo "";
echo "
";
}
echo "echo "".base64_decode($row["content"])."if($row["photo"]!="NONE")
{
echo "}
$
sql3="SELECT * FROM reply WHERE msgid=$row[id] ORDER BY id DESC";
$result3=MysqL_query($sql3,$conn);
while($row3=MysqL_fetch_array($result3)){
echo "回复:".date("Y年m月d日",$row3[addtime]);
if(isset($_SESSION["admin_name"]) && $_SESSION["admin_name"]!=""){
echo "";
}
echo "echo "".base64_decode($row3[content])."}
}
?>
if($page_count>1){
$prev_page=$page-1;
$next_page=$page+1;
if($page<=1){
echo "第一页 | ";
}else{
echo "
第一页 | ";
}
if($prev_page<1){
echo "上一页 | ";
}else{
echo "上一页 | ";
}
if($next_page>$page_count){
echo "下一页 | ";
}else{
echo "下一页 | ";
}
if($page>=$page_count){
echo "最后一页";
}else{
echo "最后一页";
}
}
?>
PHP
}
?>
PHP
if(isset($_SESSION["admin_name"]) && $_SESSION["admin_name"]!=""){
?>


}else{
?>


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,"
";
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("\r\n","
",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("\r\n",htmlspecialchars($_POST["content"])));
$addtime=time();
//保存数据
$sql="INSERT INTO reply(msgid,addtime) VALUES($msgid,$conn);
echo "<Meta http-equiv=\"refresh\" content=\"2;url=index.PHP\">\n";
echo "谢谢您的留言,2秒钟返回首页";
}
}
?>

原文链接:https://www.f2er.com/php/28956.html

猜你在找的PHP相关文章