最近学些php的课程还是一本满足的,毕竟是脚本语言还是很容易上手的,不吹不黑,哈哈!好了,进入正题,本文在实现留言板的过程讲解一些知识点。

如何连接数据库?

说来尴尬,我的wampserver的mysql用不了,很奇怪的原因~,所以我就把wampserver原装的mysql的端口改成了8806,以保证我自己装的mysql的端口3306可以正常使用,好吧,作为新人小白这样看起来很傻吧。本文讲解php操作数据库的函数只讲我们用到了,也就是不展开讲解。上代码看注解(conn.php):

<?
// 获取数据库连接,@符号代表的是不显示错误,因为php的报错一大堆影响心情,可以使用or die来显示连接状况
$conn = @mysql_connect("localhost:3306","root","123456") or die("连接数据库错误");
// 和mysql连上了,那么多数据库我得选一个用对不对,所以要使用到mysql_select_db("数据库名称",连接对象)
mysql_select_db("php",$conn);
?>

下面完成第一个功能,添加留言的功能,add.php。先上代码:

<?
include("head.php");
// 连接数据库
include("conn.php");
if(@$_POST['submit']){
$sql="INSERT INTO message (user,title,content,lastdate) VALUES ('$_POST[user]','$_POST[title]','$_POST[content]',now())";
mysql_query($sql);
echo("<br>"."发表成功");
}
mysql_close($conn);
?>
<style type="text/css">form *{font-family: "微软雅黑";margin: 2px 0 5px 5px;} span{font-size: 13pt;color: green;}
</style>
<script type="text/javascript">
// 使用如下函数来做客户端验证
function checkPost() {if(myform.user.value == ""){document.getElementById("span1").innerHTML = "用户名不能为空";myform.user.focus();return false;}if(myform.title.value.length < 5){document.getElementById("span2").innerHTML ="标题不能少于五个字";myform.title.focus();return false;}
}
</script>
<form action="add.php" method="post" name="myform" οnsubmit="return checkPost()">用户:<input type="text" name="user"><span id="span1"></span><br>标题:<input type="text" name="title"><span id="span2"></span><br>内容:<textarea name="content"></textarea><br><input type="submit" name="submit" value="发表留言">
</form>

这个地方没什么好讲的,讲下include函数和接收表单参数的两个超全局变量$_POST和$_GET。include函数可以将其他的php页面包含进本页面,当然本页面可以操作被包含页面的参数,比如代码中的mysql_close($conn)操作的就是conn.php的参数。超全局变量是什么?PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global $variable; 就可以访问它们。$_POST和$_GET则是接收不同提交方式的表单参数的两个超全局变量。代码中的mysql_query函数指定sql语句。

对了,还存在一个head.php忘了上了:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title>
<b><a href="add.php">添加留言</a> | <a href="list.php">浏览留言</a>  | <a href="login.php">登陆</a> </b>
<hr size=1>

接下来展示留言,这个就很简单了,但是还是声明一个问题,用户提交的留言内容是有回车键的。我们如何将回车键在页面表现出来呢?php提供了一个str_replace('换下去的','换上来的','内容')方法,可以将指定内容中的指定字符换成另外的字符。下面是list.php

<?
include("head.php");
include("conn.php");
?>
<table>
<?
// 将查询到的结果按照id的倒着排列
$sql = "SELECT * FROM message order by id desc";
$query = mysql_query($sql);
while($array = mysql_fetch_assoc($query)){
?><tr bgcolor="pink"><td>标题:<?=$array['title']?></td><td>用户:<?=$array['user']?></td></tr><tr bgcolor="#ABABAF"><td>内容:<?=//将内容中的换行变味儿可以在浏览器执行的<br>换行str_replace("\n", "<br>", $array['content'])?></td><td>发布日期:<?=$array['lastdate']?></td></tr>
<?
}
?>
</table>

下面介绍一个php的cookie函数。

setcookie() 函数用于设置 cookie。

注释:setcookie() 函数必须位于 <html> 标签之前。

例如:setcookie("user", "Alex Porter", time()+3600);将创建名为 "user" 的 cookie,把为它赋值 "Alex Porter",也规定了此 cookie 在一小时后过期。

下面是login.php

<?
include("head.php");
if(@$_GET['out'] == 'login'){setcookie("cookie", "out");echo("<script language=\"javascript\">location.href='login.php';</script>");
}
if(@$_POST[user]=='admin'){$passcode = md5(@$_POST[pass]);if ($passcode == "e10adc3949ba59abbe56e057f20f883e") {setcookie("cookie","ok");echo("<script language=\"javascript\">location.href='login.php';</script>");}
}
if(@$_COOKIE[cookie] != "ok"){
?>
<style type="text/css">form *{font-family: "微软雅黑";margin: 2px 0 5px 5px;} span{font-size: 13pt;color: green;}
</style>
<script type="text/javascript">
function checkPost(){if(myform.user.value == ""){document.getElementById("span1").innerHTML = "用户名不能为空";myform.user.focus();return false;}if(myform.pass.value == ""){document.getElementById("span2").innerHTML = "密码不能为空";myform.pass.focus();return false;}
}
</script>
<form action="login.php" method="post" name="myform" οnsubmit="return checkPost()"> user:<input type="text" name="user"><span id="span1"></span><br>pass:<input type="password" name="pass"><span id="span2"></span><br><input type="submit" value="登录">
</form>
<?
}else{
?>
<a href="?out=login">退出</a>
<?
}
?>

php实现简单的留言板相关推荐

  1. php实例之简单的留言板,PHP实例一之简单的留言板

    注:参考兄弟连教学视频写的一个简单的留言板模块,获得更多内容请参考我的博文. 示例:文本式留言板 需要的知识点: 1.文件操作: file_put_contents();文件的写入函数 file_ge ...

  2. php mysql 简单留言板_php+mysql 最简单的留言板_PHP教程

    php+mysql 最简单的留言板 学完了记得动手操作. id name email content ; $result = mysql_query(SELECT * FROM message); w ...

  3. PHP编辑留言源码,php实现简单的留言板功能(附源码)

    php实现简单的留言板功能 1.原理 简单的说就是 数据库的创建,添加数据,显示在前端上.我的程序只是简单的留言再显示. 首先写好留言的前端页面,就简单的写入作者,标题和内容. 2.界面: 3.显示留 ...

  4. php mysql 简单留言板_PHP+MySql实现一个简单的留言板

    跟着书学的,代码不是自己写的,但是都能理解,有时间自己去写个好看一点的吼吼吼-(不熟练花了一天的时间- 留言板是接触WEB开发的基础,写一个留言板需要知道前端的一些基础标签,对数据库有一个了解会基础S ...

  5. php简易留言板功能,php简单的留言板与回复功能具体实现

    php简单的留言板与回复功能具体实现 留言板是在刚接触php时用来学习的一个简单的应用例子了,今天我再给初学php的朋友提供一个完整的php留言板的全部制作过程,希望对你会有帮助 在网上找了这方面的教 ...

  6. PHP搭建简单的留言板论坛

    PHP搭建简单的留言板论坛 搭建环境 效果展示 网站首页 会员中心 注册界面 注册成功 个人中心 头像上传 上传成功 个人中心 登录页面 留言板 留言 代码布局 详细代码 MySQL数据库 index ...

  7. vue实现留言板的功能_Vue实现简单的留言板

    本文实例为大家分享了Vue实现简单的留言板的具体代码,供大家参考,具体内容如下 body { /* margin: 0; */ padding-left: 10px; } #app{ width: 4 ...

  8. 【留言板】使用Think PHP6+光年模板开发一个简单的留言板

    前言:本文章是使用thinkphp6框架加上光年模板开发的一套留言板,个人感觉特别适合新手有点小基础的同学尝试去实战,文章和代码可能都写得不太好! 工具与环境: VSCode(简称)也可以使用别的 光 ...

  9. 简单的留言板 php,php 简单留言板教程一

    作留言板我们来看看下面图片上的文件是指那些吧, global.php是全局文件有数据链接代码.index.php是显示文件不用多说了下面有讲解的,login.php登录文件,logout.php退出登 ...

最新文章

  1. 中科院微生物所王军课题组特别研究助理招聘
  2. 【Linux入门学习之】Linux文件权限与目录配置
  3. hql查询过滤器及相关聚合函数查询详解
  4. 计算机可以调剂其他专业吗,机械能跨专业调剂计算机吗
  5. C# 反编译修改dll文件
  6. NOI模拟(5.8) HNOID2T3 道路 (bzoj5290)
  7. robotframework使用之 下拉框的选择的几种用法
  8. python画围棋棋盘_python3 turtle 画围棋棋盘
  9. 第二章、Magick命令组合多个图像处理操作
  10. 笔记——H.264/AVC与H.265/HEVC基本总结
  11. 个人简历英语及计算机能力怎么写,简历个人能力怎么写(简历中个人能力的填写技巧)...
  12. 信息与熵【上】生命以信息为食
  13. Unity GL函数库的简单使用
  14. 2013阿里技术嘉年华:基于OpenStack构建网易云主机服务
  15. JDBC编程的六个步骤以及使用示例(详细)
  16. iOS开发之开源项目库总汇
  17. LOAM、LEGO-LOAM与LIO-SAM的知识总结
  18. [诈骗]“中国移动”发送诈骗短信,china mobile 是骗子吗?
  19. python中in什么意思_python中5in什么意思
  20. 北京面向社会招录消防员900人 将实行全程退出机制

热门文章

  1. ArcMap模型:批量导出shp
  2. 思科计算机基础知识,思科路由器基础知识--存储详解
  3. Qt读取Json文件数据
  4. 从相机相册获取图片裁剪后用于评论晒图或更换背景图
  5. LORA芯片ASR6505无线远距离传输8位MCU
  6. 努比亚android最高版本,努比亚Z11安卓7.1固件开发版下载地址:新增压力按键等功能...
  7. 从技术原理解析区块链为何列入新基建
  8. 全国计算机职称考试excel2003,全国计算机职称考试excel2003题库及答案.pdf
  9. 红米Note9Pro和红米Note9ProMax哪个好-区别是什么
  10. 集中式、分布式版本控制系统的区别