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
转载随意,但请附上文章地址:-)