php+mysql ,评论回复功能怎么实现?

php+mysql ,评论回复功能怎么实现?,第1张

可以自己进行编写评论的留言板块。

1.MySQL 是一种数据库。数据库定义了存储信息的结构。

2.在数据库中,存在着一些表。类似 HTML 表格,数据库表含有行、列以及单元。

3.在分类存储信息时,数据库非常有用。一个公司的数据库可能拥有这些表:"Employees", "Products", "Customers" 以及 "Orders"。

在老版本的MySQL 3.22中,MySQL的单表限大小为4GB,当时的MySQL的存储引擎还是ISAM存储引擎。但是,当出现MyISAM存储引擎之后,也就是从MySQL 3.23开始,MySQL单表最大限制就已经扩大到了64PB了(官方文档显示)。也就是说,从目前的技术环境来看,MySQL数据库的MyISAM存储 引擎单表大小限制已经不是有MySQL数据库本身来决定,而是由所在主机的OS上面的文件系统来决定了。

而MySQL另外一个最流行的存储引擎之一Innodb存储数据的策略是分为两种的,一种是共享表空间存储方式,还有一种是独享表空间存储方式。

当使用共享表空间存储方式的时候,Innodb的所有数据保存在一个单独的表空间里面,而这个表空间可以由很多个文件组成,一个表可以跨多个文件存在,所 以其大小限制不再是文件大小的限制,而是其自身的限制。从Innodb的官方文档中可以看到,其表空间的最大限制为64TB,也就是说,Innodb的单 表限制基本上也在64TB左右了,当然这个大小是包括这个表的所有索引等其他相关数据。

而当使用独享表空间来存放Innodb的表的时候,每个表的数据以一个单独的文件来存放,这个时候的单表限制,又变成文件系统的大小限制了。

工具:

Dreamweaver

php、mysql服务器

步骤/方法

首先是确定自己的留言板需求.例如:名字,邮件及留言内容.

一. 建立一个数据库guestbook。

CREATE TABLE IF NOT EXISTS `content` (

`id` int(11) NOT NULL auto_increment,

`name` varchar(20) NOT NULL,

`email` varchar(50) NOT NULL,

`content` varchar(200) NOT NULL,

PRIMARY KEY (`id`))

ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=3

二. 新建config.php

< ? php

$q = mysql_connect("服务器","数据库用户","数据库密码")

if(!$q)

{

die('Could not connect: ' . mysql_error())

}

mysql_query("set names utf8")//以utf8读取数据

mysql_select_db("guestbook",$q) //数据库

?>

三. 新建index.php

<?php

include("config.php") //引入数据库连接文件

$sql = "select * from content" //搜索数据表content

$resule = mysql_query($sql,$q)

?>

<html>

<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8" />

<body>

<table width="678" align="center">

<tr>

<td colspan="2"><h1>留言本</h1></td>

</tr>

<tr>

<td width="586"><a href="index.php">首页</a>| <a href="liuyan.php">留言</a></td>

</tr>

</table>

<p>

<?

while($row=mysql_fetch_array($resule))

{

?>

</p>

<table width="678" border="1" align="center" cellpadding="1" cellspacing="1">

<tr>

<td width="178">Name:<? echo $row[1] ?></td>

<td width="223">Email:<? echo $row[2] ?></td>

</tr>

<tr>

<td colspan="4"><? echo $row[3] ?></td>

</tr>

<tr>

</table>

<?

}

?>

</body>

</html>

四. 新建liuyan.php

< html>

<body>

<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8" />

<table width="678" align="center">

<tr>

<td colspan="2"><h1>留言本</h1></td>

</tr>

<tr>

<td width="586"><a href="index.php">首页</a>| <a href="liuyan.php">留言</a></td>

</tr>

</table>

<table align="center" width="678">

<tr>

<td>

<form name="form1" method="post" action="post.php">

<p>

Name:

<input name="name" type="text" id="name">

</p>

<p>Email:<input type="test" name="email" id="email"></p>

<p>

留言:

</p>

<p>

<textarea name="content" id="content" cols="45" rows="5"></textarea>

</p>

<p>

<input type="submit" name="button" id="button" value="提交">

<input type="reset" name="button2" id="button2" value="重置">

</p>

</form>

</td>

</tr>

</table>

</body>

</html>

五. 新建post.php

< ?php

header("content-Type: text/htmlcharset=utf-8")

include("config.php")

$name= $_POST['name']

$email= $_POST['email']

$patch = $_POST['content']

$content = str_replace("

","<br />",$patch)

$sql = "insert into content (name,email,content) values ('$name','$email','$content')"

mysql_query($sql)

echo "<script>alert('提交成功!返回首页。')location.href='index.php'</script>"

?>

这样已经成功的写出一个留言板了。

第二部分

此次将在上面版本上加多管理,回复等功能。

首先在sql中字节。

ALTER TABLE `content` ADD `reply` VARCHAR( 200 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `content`

一. 新建login.php

<html xmlns="http://www.w3.org/1999/xhtml">

<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8" />

<title>无标题文档</title>

</head>

<body><table width="678" align="center">

<tr>

<td colspan="2"><h1>留言本</h1></td>

</tr>

<tr>

<td width="586"><a href="index.php">首页</a>| <a href="liuyan.php">留言</a></td>

</tr>

</table>

<table align="center" width="678">

<tr>

<td align="center">

<form name="form1" method="post" action="login2.php">

<label for="textfield"></label>

<p></p>

<p>帐号:

<input type="text" name="name" id="name">

</p>

<p>密码:

<input type="password" name="pw" id="pw">

</p>

<p>

<input type="submit" name="button" id="button" value="提交">

<input type="reset" name="button2" id="button2" value="重置">

</p>

</form></td>

</tr>

</table>

</body>

</html>

二.login2.php

<?

session_start()

header("content-Type: text/htmlcharset=utf-8")

$name = $_POST['name']

$pw = $_POST['pw']

if($name == "admin" &&$pw == "admin"){

$_SESSION["adminname"] = $name

echo "<script>alert('登录完成,返回首页!')location.href='index.php'</script>"

}else{

echo "<script>alert('错误!')location.href='login.php'</script>"

}

?>

三. 在原有的index.php上添加

< ?php

session_start()

include("config.php")

$sql = "select * from content"

$resule = mysql_query($sql,$q)

?>

< html>

<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8" />

<body>

<table width="678" align="center">

<tr>

<td colspan="2"><h1>留言本</h1></td>

</tr>

<tr>

<td width="586"><a href="index.php">首页</a>| <a href="liuyan.php">留言</a></td>

<td width="80">

// 新增管理员登录

< ?php

if (isset($_SESSION['adminname']) &&$_SESSION["adminname"] == "admin"){

echo "<a href='logout.php'>登出</a>"

}else{

echo "<a href='login.php'>管理员登录</a>"

}

?>

</td>

</tr>

</table>

<p>

<?

while($row=mysql_fetch_array($resule))

{

?>

</p>

<table width="678" border="1" align="center" cellpadding="1" cellspacing="1">

<tr>

<td width="178">Name:<? echo $row[1] ?></td>

<td width="223">Email:<? echo $row[2] ?></td>

<td width="100">

< ?php

if(isset($_SESSION['adminname']) &&$_SESSION["adminname"] == "admin"){

echo "<a href='huifu.php?id=" . $row[0] . "'>回复</a>"

echo " | " . "<a href='delete.php?id=" . $row[0] . "'>删除</a>"

} else {

echo ""

}

?>

</td>

</tr>

<tr>

<td colspan="4"><? echo $row[3] ?></td>

</tr>

<tr>

<td colspan="4"><?

if($row[4] == ""){

?>

<? echo "暂无回复。"?>

<? }else {echo "管理员回复:". $row[4]} ?></td>

</tr>

</table>

<?

}

?>

</body>

</html>

四. 新建huifu.php

< ?php

include("config.php")

$sql = "select * from content where id=".$_GET["id"]

$resule = mysql_query($sql,$q)

SetCookie("id",$_GET["id"])

session_start()

header("content-Type: text/htmlcharset=utf-8")

if(empty($_SESSION["adminname"])){

exit("<script language='javascript'>alert('您尚未登录后台,或登录已超时,请重新登录!')window.location.href='login.php'</script>")

}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8" />

<title>无标题文档</title>

</head>

<body>

<table width="678" align="center">

<tr>

<td colspan="2"><h1>留言本</h1></td>

</tr>

<tr>

<td width="586"><a href="index.php">首页</a>| <a href="liuyan.php">留言</a></td>

</tr>

</table>

<table align="center" width="678">

<tr>

<td>

<form name="reply" method="post" action="reply.php" >

<p>回复:

<?

while($row=mysql_fetch_array($resule))

{

echo $row[3]

}

?>

</p>

<p>

<textarea name="reply" id="reply" cols="45" rows="5"></textarea>

</p>

<p>

<input type="submit" name="button" id="button" value="回复" />

<input type="reset" name="button2" id="button2" value="重置" />

</p>

</form>

</td>

</tr>

</table>

</body>

</html>

五. reply.php 回复留言提交页面.

<?

include("config.php")

$id = $_COOKIE["id"]

$sql = "select * from content"

header("content-Type: text/htmlcharset=utf-8")

$patch = $_POST["reply"]

$reply = str_replace("

","<br />",$patch)

$resule = mysql_query("UPDATE `2`.`content` SET `reply` = '$reply' WHERE `content`.`id` ="."$id")

echo "<script>alert('回复成功!')location.href='index.php'</script>"

?>

这样就可以建立出一个简单的管理.管理帐号都是admin 因为只是判别输入的是不是admin 是的话就把值输入进session中.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6136765.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-16
下一篇 2023-03-16

发表评论

登录后才能评论

评论列表(0条)

保存