PHP+Mysql制作留言发布

                                                 留言发布


定义数据库 conn.php

<?php

//利用mysql_connect()开启数据库链接,@用于隐藏错误

$conn = @mysql_connect("localhost""root"""or die("数据库链接错误");  

 //使用mysql_select_db(" ",__)打开数据库,""里面是数据库,__是链接标识符

mysql_select_db("bbs"$conn);     

//mysql_query()对数据库的表进行操作;使用GBK中文编码;

mysql_query("set names 'GBK'"); 

 

 //function函数作用:在写字板上显示的内容会有空格和回车的效果,使用str_replace替换函数

function htmtocode($content){

$content = str_replace("\n","<br>",str_replace(" "" "$content));

return $content;

}      

 

?>

 

 

用户输入:  add.php

<?php

include("conn.php");  //把数据库链接

 

 //用isset()可以省略出现的notice提示;

利用$_POST方法接收传递过来的参数,判断接收的是不是submit

if(isset($_POST['submit']))  

{

//把输入的数据存放到数据库的表中并在数据库显示

$in="insert into message (id, user, title, content, lastdate)";

$val="values('','$_POST[user]','$_POST[title]','$_POST[content]',now())"

        $sql=$in.$val;

mysql_query($sql);  //对数据库中的表进行操作

echo 

"<script language=\"javascript\">

alert('添加成功');history.go(-1)

</script>";   //输出一个js脚本,弹出“添加成功”,然后回退

}

?>

<SCRIPT language=javascript>   <!--提交表单用javascript-->

function CheckPost()

{

if(myform.user.value == "")   <!--当用户名没有填写任何东西的情况下发布留言,会有提示-->

{

alert("请填写用户名");

myform.user.focus();

return false;

}

if(myform.title.value.length<5)

{

alert("标题不能少于5个字符");

myform.title.focus();

return false;

}

if(myform.content.value == "")

{

alert("必须填写留言内容");

myform.content.focus();

return false;

}

}

</SCRIPT>

 

 //action是转向地址,即form表单需要提交到哪里;onsubmit:提交事件

<form action="add.php" method="post" name="myform" onsubmit="return CheckPost();">     

   用户:<input type="text" size="10" name="user"/><br>

   标题:<input type="text" name="title"/><br>

   内容:<textarea name="content" cols="60" rows="9"></textarea><br>

 

   <input type="submit" name="submit" value="发布留言"/>

</form>

 

列表显示+分页显示   list.php

<?php

  include("conn.php");

 

$pagesize=4;   //每一页中显示的个数

$page=0;       //页数以0开始

    $pageval=0;

 

  $url=$_SERVER["REQUEST_URI"];   //取得当前url的路径地址

  $url=parse_url($url);           //解析url,得到url的各项参数

$url=$url['path'];              //取parse_url解析出来的path值

 

  $numq=mysql_query("SELECT * FROM message");

  $num=mysql_num_rows($numq);   //求出message中有多少条信息

 

  if(isset($_GET['page']))   //判断page(当前页数)是否存在

  {

//当前页总信息条数(公式:$page*pagesize,当page=0时)

  $page=$_GET['page']*$pagesize;   

  }

 

 //当显示的信息个数大于每页设定显示的个数,显示上下页控制按钮,反之不显示

if($num > $pagesize)   

{

if($pageval<=0)    //上一页或者下一页的值不能少于0(即不可能为负第n页)

{

$pageval=0;

}

echo "共 $num 条".

"<a href=$url?page= ".($pageval).">上一页</a> <a href=$url?page= ".($pageval+1).">下一页</a>";

}

 

  $sql="select * from message limit $page,$pagesize";      //从第1条开始取,取page条信息

 

$query=mysql_query($sql);               //两句合起来表示执行一个查询会员的语句

while($row=mysql_fetch_array($query))    //获取查询结果

{

?>

<table width=500 border="0" align="center" cellpadding="5" cellspacing="1" bgcolor="#add3ef">

   <tr bgcolor="#eff3ff">

   <td>标题:<?=$row['title']?> 用户:<?=$row['user']?></td>    <!--$row['']获取文本框提交的值-->

   </tr>

   <tr bgcolor="#ffffff">

   <td>内容:<? echo htmtocode($row['content'] ) ?></td>      <!--htmtocode让显示的内容有回车和空格效果-->

   </tr>

   </table>

 <?

}

?>

 

 

用户登录 login.php

<?php

include("conn.php");

//如果退出登录,写入cookie,记录已退出状态

if(isset($_GET['out']))

{     

//设置cookie变量的名称为cookiecookie的值为out

setcookie("cookie","out");  

//当用户没退出时,一直显login.php的页面

echo"<script language=\"javascript\">location.href='login.php';</script>";         

}

if(isset($_POST['id']) == 'admin'){    //当用户以admin登录时可以进入

$pw=md5($_POST['pw']);

if($pw=='21232f297a57a5a743894a0e4a801fc3'

{

//设置cookie的名称为cookiecookie的值为ok

setcookie("cookie","ok");   

echo "<script language=\"javascript\">location.href='login.php';</script>";

}

}

if(isset($_COOKIE['cookie']) != 'ok')   //cookie的值为ok时,执行以下语句

 {   

?>

 <SCRIPT language=javascript>

 function Checklogin()

 {

  if(myform.id.value == "")

  {

  alert("请填写登录名");

  myform.id.focus();

  return false;

  }

  if(myform.pw.value == "")

  {

  alert("密码不能为空");

  myform.pw.focus();

  return false;

  }

 }

</SCRIPT>

 

   <form action="" method="post" name="myform" onsubmit="return Checklogin();">

   ID:<input type="text" name="id" /><br>

   PW:<input type="password" name="pw" /><input type="submit" name="submit" value="登录"/>

  </form>

<?

}else{

?>

<a href='?out=login'>退出</a>

<?

}

?>

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
制作留言板可以分为以下步骤: 1. 创建一个 MySQL 数据库,包含一个留言表 可以使用以下 SQL 语句创建一个名为 `message_board` 的数据库,并在其中创建一个名为 `messages` 的表: ```mysql CREATE DATABASE message_board; USE message_board; CREATE TABLE messages ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, name VARCHAR(30) NOT NULL, message TEXT NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); ``` 这个表包含四个字段:`id` 、`name` 、`message` 和 `created_at` 。其中 `id` 是自增长的主键,`name` 是留言者的姓名,`message` 是留言内容,`created_at` 是留言的时间戳。 2. 创建一个 PHP 页面来显示留言板 可以使用以下 HTML 和 PHP 代码来创建一个显示留言板的页面: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>留言板</title> </head> <body> <h1>留言板</h1> <form action="add_message.php" method="post"> <label for="name">姓名:</label> <input type="text" name="name" id="name"><br><br> <label for="message">留言:</label> <textarea name="message" id="message" cols="30" rows="10"></textarea><br><br> <input type="submit" value="提交"> </form> <h2>留言列表</h2> <?php // TODO: 显示留言列表 ?> </body> </html> ``` 这个页面包含一个表单,用于提交新的留言,并且有一个占位符,用于显示留言列表。 3. 创建一个 PHP 页面来处理添加留言的请求 可以使用以下 PHP 代码来创建一个处理添加留言请求的页面 `add_message.php` : ```php <?php // 连接数据库 $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "message_board"; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } // 处理 POST 请求 $name = $_POST["name"]; $message = $_POST["message"]; $sql = "INSERT INTO messages (name, message) VALUES ('$name', '$message')"; if ($conn->query($sql) === TRUE) { echo "留言成功!"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } $conn->close(); ?> ``` 这个页面首先连接到 MySQL 数据库,并从 `$_POST` 中获取留言者的姓名和留言内容。然后,它向 `messages` 表中插入一条新的留言记录。 4. 创建一个 PHP 页面来显示留言列表 可以使用以下 PHP 代码来创建一个显示留言列表的页面: ```php <?php // 连接数据库 $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "message_board"; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } // 查询留言列表 $sql = "SELECT * FROM messages ORDER BY created_at DESC"; $result = $conn->query($sql); if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { echo "<p>" . $row["name"] . " 于 " . $row["created_at"] . " 留言:</p>"; echo "<p>" . $row["message"] . "</p>"; echo "<hr>"; } } else { echo "暂无留言。"; } $conn->close(); ?> ``` 这个页面首先连接到 MySQL 数据库,并查询 `messages` 表中的所有记录。然后,它以逆序方式遍历结果集,并将每条留言显示为一个段落。最后,它关闭数据库连接。 5. 将所有页面整合到一起 现在,你可以将所有页面整合到一起,并将它们放在同一个目录下。你可以在浏览器中访问这个目录,就可以看到留言板了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值