PHP留言板开发_PHP_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > PHP > PHP留言板开发

PHP留言板开发

 2013/10/23 22:53:45  香煎马鲛鱼  程序员俱乐部  我要评论(0)
  • 摘要:PHP留言板开发留言板是网站中比较常用的工具,通过开发留言板我们将可以熟悉数据库的简单操作,真正开始编写一个多文件的PHP项目。同时,在这次项目开发的过程中,我还第一次见识了什么是多种语言混编,加深了对“PHP是一种脚本语言的理解”。首先让我来梳理一下编写留言版所需要的知识:1、学会操作mysql数据库的基本知识,学会建表以及对表进行简单的增删改查;2、学会使用自定义函数,以及简单的逻辑语句;3、<from></form>标签的使用;4、“\n”和””需要被替换;5
  • 标签:PHP 开发

class="p0">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?/>

?

其次是效果图:

?

?

?
DBA21.jpg">
?

?

?

?

?

最易出现的错误:

1、



??

解决此问题的关键代码:



??

2

?





?
?
?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(“”)

如:



??



??

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

<!--EndFragment-->
  • 大小: 23.3 KB
  • 大小: 36.4 KB
  • 大小: 11.7 KB
  • 大小: 74.1 KB
  • 大小: 7.1 KB
  • 大小: 24.1 KB
  • 大小: 12 KB
  • 大小: 11.8 KB
  • 查看图片附件
发表评论
用户名: 匿名