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="关闭页面" onclick="window.close()"></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 = "<?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<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主机名、用户名和密码"); } } < ? 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); ?> <?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 } ?> <?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("\r\n", "<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("\r\n", "<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秒钟返回首页"; } } ?>
本文地址:http://www.phprm.com/code/e8a80087e5ba4ba186fc4443841f84de.html
转载随意,但请附上文章地址:-)