pzg's blog

怎样用PHP+MYSQL做留言板?

一、编程之前的分析 

要做一个留言板,而且我们也决定了采用数据库方式做,所以我们要从以下几个步骤开始做: 

1.填写留言 

在什么地方写留言? 

2.传送留言 

在文本框中输入了数据后肯定要以什么方式传到一个什么文件,而后一个文件又是这么接收变量的。 

3.入数据库 

后一个文件将接收的数据要进入数据库,所以,我们还要掌握这么往数据库中写入数据。 

4.查看结果 

将留言写入数据库后,主要是为了能在浏览器中查看,所以,我们要知道这么从数据库中读出数据。 

二、做一个填写留言的文件(write.htm) 

<form action=”write_ok.php” method=”post”>

请输入您的昵称:<input type=”text” name=”nickname”><br>

请留言:<textarea name=”note”></textarea><br>

<input type=”submit” value=”确定”>

</form>
三、PHP变量传送 

熟悉ASP的朋友可能知道,从一个文件传送变量到另一个文件后,第二个文件是request接收数据的;
而PHP似乎更简单,当一个文件将变量传送到另一个文件后,自动产生一个变量,
下面,我将ASP和PHP分别举个例子。 

1.ASP: 

form.htm: 

form action=”asp_to.asp” method=”post”> 

输入昵称:< input type=”text” name=”nickname”> 

<input type=”submit” value=”确定”>

</form>

asp_to.asp

您输入的昵称是:<% response.write(request.form(“nickname”)) %>

简单说明:在第一个文件中,有一个文本框,其名为nickname 和一个确定按钮,在文本框中输入信息后,
点“确定”,浏览器将提交到asp_to.asp 该文件将你在文本框中的内容显示出来,response.write就是显
示输出,而request就是接收变量“nickname”。 

2.PHP: 

form.htm: 

该文件和上面的相同,只是将asp_to.asp改为php_to.php,也就是将输入的变量提交到一个名为php_to.php
的PHP文件。 

php_to.php: 

您输入的昵称是:<? echo $nickname; ?> 

如此而已,其中echo为显示输出,相当于ASP中的 response.write 而$表示变量,PHP的变量用$表示。

四、PHP操作数据库 

在上一节中,我介绍了MySQL数据库和数据表的建立。下面,将从一个例子简单介绍PHP操作数据库的方式。

[ 例一 ]

<?

$id=mysql_connect(‘localhost’,’root’,’adminpassword’); 

$db=mysql_select_db(‘gsbook’,$id); 

$result=mysql_query(‘select * from gsbook’,$db); 

$maxrows=mysql_num_rows($result); 

for ($i=0;$i<$maxrows;$i++) { 

$nickname[$i]=mysql_result($result,$i,’nickname’); 

for ($i=$i-1;$>=0;$i–) 

echo “nickname:”.$nickname[$i].”<br>”; 

 

?> 简单说明: 

1.函数 int mysql_connect(string [ hostname ][:port],string [username],string [password])
返回一个MySql的连接ID,其参数相信大家一看就知道。 

2.函数 int mysql_select_db(string database_name, int [ link_identifier ])用来打开数据库,
第一个函数为数据库名称,第二个为MySQL的连接ID,返回值为ture或false 

3.函数 int mysql_query(string query, int [ link_identifier])返回一个结果(result) 

4.函数 int mysql_num_rows(int result)返回query的行数。 

5.函数 int mysql_result(int result,int row,mixed field)该函数返回某字段在某行的结果,
第二个参数为行数,第三个参数为字段名;需要说明的是,该字段名并不是物理字段名,
比如: select field1 as alias_field from table1 那么,在该函数中的第三个参数必须为
 alias_field 而不是 field1。 

6.PHP中的循环语句: 

(1)do … while 

(2)while … [end while] 

(3)for (expr1;expr2;expr3)

和C差不多的,在这里不再详细介绍。 

7.在上例中,用了两个for循环语句,第一个用来将数据库中的值读到一个数组中,第二个用来将数组中
的值显示出来。注意第二个for循环的“$i=$i-1;”这是因为在第一个循环后变量$i的值已经自加了1;
所以从数组中取值时,应该减去1。 

8.PHP中字符串的相加用“.”,相当于ASP中(VB语法)的“+”或“&”。 

9.所以,上面代码实现的功能就是从数据库中读出数据,并显示出来。 

下面,我们来向数据库中添加一条记录,先看代码[ 例二 ]:

<?

$id=mysql_connect(‘localhost’,’root’,’adminpassword’);

$db=mysql_select_db(‘gsbook’,$id); 

$sql=’insert into gsbook values(‘.chr(39).$nickname.chr(39).’)’; 

if (mysql_query($sql,$db)>0) 

echo “OK”; 

}

else

echo “Failed!”; 

}

?>

简单说明: 1.对于熟悉SQL语句的朋友,看了例一的简单介绍后一定知道例二的功能。

《“怎样用PHP+MYSQL做留言板?”》 有 1 条评论

  1. 爱早起 的头像

    你的博客主题很简洁,喜欢

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注