PHP+MySQL 制作简单的留言本
发布时间:2020-12-13 05:36:43 所属栏目:PHP教程 来源:网络整理
导读:留言显示页面:比上一个例子增加了分页和留言回复的功能 主要代码: install/index.php:程序安装页面 代码如下: if($_GET["action"]!=1) { ?> }else{ @set_time_limit(1000); $lockfile = "install.lock"; $host="localhost"; $user="root"; $password="";
留言显示页面:比上一个例子增加了分页和留言回复的功能 主要代码: 代码如下: if($_GET["action"]!=1) { ?> }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="$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文件: 代码如下: $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:程序显示页面 代码如下: 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."页"; ?>
?> if(isset($_SESSION["admin_name"]) && $_SESSION["admin_name"]!=""){ ?> }else{ ?> } ?> saveadd.php:保存留言 代码如下: if(!$_POST["author"] || !$_POST["content"]) { echo "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 "$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("rn"," ",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 "echo "谢谢您的留言,2秒钟返回首页"; } ?> savereply.php:保存回复 if(isset($_SESSION["admin_name"]) && $_SESSION["admin_name"]!="") { if(!$_POST["content"]) { echo "echo "你没有填写回复内容,2秒钟返回首页"; exit(); }else{ $msgid=$_POST["msgid"]; $content=base64_encode(ereg_replace("rn",htmlspecialchars($_POST["content"]))); $addtime=time(); //保存数据 $sql="INSERT INTO reply(msgid,addtime) VALUES($msgid,$conn); echo "echo "谢谢您的留言,2秒钟返回首页"; } } ?> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |