设为首页 收藏本站
查看: 625|回复: 0

[经验分享] PHP留言板开发

[复制链接]

尚未签到

发表于 2017-3-21 10:13:55 | 显示全部楼层 |阅读模式
PHP留言板开发

留言板是网站中比较常用的工具,通过开发留言板我们将可以熟悉数据库的简单操作,真正开始编写一个多文件的PHP项目。

同时,在这次项目开发的过程中,我还第一次见识了什么是多种语言混编,加深了对“PHP是一种脚本语言的理解”。

首先让我来梳理一下编写留言版所需要的知识:

1、学会操作mysql数据库的基本知识,学会建表以及对表进行简单的增删改查;

2、学会使用自定义函数,以及简单的逻辑语句;

3、<from></form>标签的使用;

4、“\n”和”  ”需要被替换;

5、静态网页基础;(没有的话先用dreamweaver生成代码)

6、Cookie的使用;

截止十月七日,我已经实现了添加留言,查看留言,登陆,md5加密四个操作。下面我将讲解这四个方面的实现过程:

先把代码呈上:

文件:add.php(添加留言)

?php
//include_once ('conn.php');
include_once ('head.php');
if(isset($_POST['submit']) &&$_POST['submit']){
    $sql = "insert into text (id,uid,title,contect)values('','$_POST[uid]','$_POST[title]','$_POST[contect]')";
    $result=mysql_query($sql)or die(mysql_error());
    if($result){
    echo "发表成功";
    }
}
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<!-- TemplateBeginEditable name="doctitle" -->
<title>无标题文档</title>
<!-- TemplateEndEditable -->
<!-- TemplateBeginEditable name="head" -->
<!-- TemplateEndEditable -->
<style type="text/css">
<!--
body {
background-color: #99FF00;
}
-->
</style></head>
<form action ="add.php" method = "post" name = "myform" onsubmit ="return CheckPost();" >
用户:<input type ="text" size ="10" name ="uid"/><br>
标题:<input type ="text" name ="title"/><br/>
用户:<textarea rows="10" cols="80" name ="contect"></textarea><br/>
<input type ="submit" name="submit" value="发布消息"/>
</form>
<script type="text/javascript">
function CheckPost(){
if(myform.uid.value=="")
{
alert("请填写用户");
myform.uid.focus();
return false;
}
if(myform.title.value==""){
 
alert("请填写标题");
myform.uid.focus();
return false;
}
if(myform.contect.value.length<5){
alert("输入的字符不能少于5个");
return false;
}
}
</script>

关键代码:

function CheckPost(){
if(myform.uid.value=="")
{
alert("请填写用户");
myform.uid.focus();
return false;
}
if(myform.title.value==""){
 
alert("请填写标题");
myform.uid.focus();
return false;
}
if(myform.contect.value.length<5){
alert("输入的字符不能少于5个");
return false;
}
}
(判断输入是否合乎条件;)

文件:conn.php(访问mysql数据库)

<?php
$conn = @mysql_connect("localhost","root","") or die("连接错误");
mysql_select_db("nettext",$conn);
mysql_query("set names 'GBK'");//使用GBK中文编码;
 
function htmToCode($contect) {
$contect = str_replace("\n", "<br>", str_replace(" "," ",$contect));
return $contect;
}
//优化:用系统函数屏蔽关键字
?>
 
 
文件:list.php(显示留言)

<?php error_reporting(0);?>
 
<?php
//include ("conn.php");
include ("head.php");
?>
 
<table width = 500 border = "0" align ="center" cellpadding = "S" cellspacing="1" bgcolor ="#add3ef">
<?php
 @$sql = "select * from text" or die(mysql_errno());
 $query = mysql_query($sql) or die(mysql_error());
 while ($row = mysql_fetch_array($query)){
?>
<tr bgcolor = "#eff3ff">
<td>标题: <?php echo  $row[title]?>   用户:<?php echo $row[uid]?></td>
</tr>
<tr bgcolor = "#ffffff">
<td>内容:<?php echo htmToCode($row[contect])?></td>
</tr>
<?php
 } 
?>
</table>

文件:login.php(实现登陆)

<?php error_reporting(0);?>
<?php
include ("head.php");
//include ("conn.php");
//echo md5('admin');
if($_GET[out]){
setcookie("cookie","out");
echo "<script language = \"javascript\">location.href='login.php';</script>";
}
if($_POST[uid]=='admin'){
$pw=md5($_POST(password));
if($pw=="21232f297a57a5a743894a0e4a801fc3"){
setcookie("cookie","ok");
echo "<script language = \"javascript\">location.href='login.php';</script>";
}
}
echo $_GET['cookie'];
if($_COOKIE['cookie']!="ok"){
?>
<script type="text/javascript">
function Checklogin(){
if(myform2.uid.value==""){
 
alert("请填写登陆名");
myform.uid.focus();
return false;
}
if(myform.password.value==""){
alert("请填写密码");
myform.password.focus();
return false;
}
}
//同一个工程的表单名
</script>
<form action = "" method = "post" name = "myform2" onsubmit = "return Checklogin();">
I  D:<input type ="text" name = "uid" /><br>
密码:<input type ="password" name = "password" />
<input type ="submit" name ="submit" value ="登陆"/>
</form>
<?php
 }else {
?>
<a href='?out = login'>退出<input type ="text" name = "exit" /></a>
<?php
 } 
?>

关键代码:

Cookies:setcookie("cookie","ok");(设置cookieok表示登陆)
            setcookie("cookie","out");(设置cookieout表示登出
 
 

文件:head.php(网页上方“添加留言”、“浏览留言”、“登陆”)

<?php
 
include ("conn.php");
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<!-- TemplateBeginEditable name="doctitle" -->
<title>无标题文档</title>
<!-- TemplateEndEditable -->
<!-- TemplateBeginEditable name="head" -->
<!-- TemplateEndEditable -->
<style type="text/css">
<!--
body {
background-color: #99FF00;
}
-->
</style></head>
<b><a href = "add.php">添加留言          </a>| <a href = "list.php">浏览留言             </a>|<a href ="login.php">登陆</a> </b>
<hr />
 

其次是效果图:

 

 
DSC0000.jpg
 
DSC0001.jpg
 

 
DSC0002.jpg
 

 

 

最易出现的错误:

1、


DSC0003.jpg
  

解决此问题的关键代码:


DSC0004.jpg
  

2

 



DSC0005.jpg
 
 
 Fatal error: Cannot redeclare htmtocode() (previously declared in D:\wamp\www\workplace\Borad1004\conn.php:6) in D:\wamp\www\workplace\Borad1004\conn.php on line 9

原因:改文件存在两个include(“”),且其中一个include(“”)所include的文件包含其另一个include(“”)

如:


DSC0006.jpg
  


DSC0007.jpg
  

解决方法:去掉add.php中的include(‘conn.php’);——对最后结果没有任何影响

<!--EndFragment-->

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-352862-1-1.html 上篇帖子: 如何调试php《转》 下篇帖子: php走势图
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表