点击这里给我发消息 点击这里给我发消息

PHP/MySQL(7)

添加时间:2013-12-6
    相关阅读: 网页 软件 开发 数据库 程序 SQL HTML
 

一、基本函数

欢迎来到本教程的第三课,也是最后一课。如果您已经学过第一课和第二课,那么您已经掌握了MySQL和PHP的安装及编程的基本知识。下面我们要介绍PHP的一些其他函数,这些函数可能会对您有用,使您的开发过程更加简单。首先我们来看看头文件。

大家应该知道头文件的一些基本概念吧?头文件是一个外部文件,它的内容被包含到主程序中。方法也十分简单:在程序文件中引用头文件名,这个头文件就会包含进来了。在PHP中使用头文件,会涉及两个函数:include()和require()。这两个函数差别很小,却很重要,所以我们要认真研究一下。require()函数工作方式与XSSI相类似;不管在程序的哪个部分使用了这个函数,只有程序一开始运行,头文件的内容就被作为程序本身的一部分来处理。因此,如果您在一个条件判定语句中使用了require()函数,那么即使这个条件即使不为真,头文件也会被包含进来。

而include()函数只是在执行到这一条语句时才会把头文件内容包含进来。如果程序没运行到这里,那PHP是不会管它的。这就意味着,您在条件判定部分使用include时,它会完全按照您希望的那样工作。

还有,如果您用了require()函数,而您指定的头文件并不存在,那么程序将会停止运行并产生错误。如果您用了include(),程序会产生一个警告信息,但是会继续运行。您可以亲自试一下,运行下面的程序,然后把include()换成require(),再比较两个程序运行的结果。

 <html>
<body>
<?phpinclude("emptyfile.inc");
echo "Hello World"; ?>
</body>
 </html>

我喜欢把头文件的后缀名起成.inc,这样就可以把头文件和一般的程序区分开来。如果您也这么做,那么请您修改Web服务器软件的配置文件,使它能够把.inc文件也当作PHP文件来处理。否则,黑客们也许会猜到您的头文件名,然后用浏览器把头文件内容以纯文本格式显示出来。此时如果您的头文件中有些机密信息(如数据库口令等)那就糟糕了。

那么,您用头文件来做什么呢?很简单!把对所有程序都通用的那些内容放到头文件里。象HTML文件头啦,脚注啦,数据库连接代码啦,还有您自己定义的一些函数什么的。把下面的文字拷贝到一个文件中,保存为header.inc。

<?php$db = mysql_connect("localhost", "root");
mysql_select_db("mydb",$db);
?>
<html>
<head>
<title>
<?php echo $title ?>
</title>
</head>
<body>
<center><h2><?php echo $title ?></h2></center>

然后再创建另外一个文件,名字是footer.txt,该文件可以包含一些程序结束时用到的一些文字和标记。

现在,我们再来创建一个文件,这个文件里面是真正的PHP程序代码。试一下下面的代码,当然,您要确认MySQL数据库服务器正在运行。

<?php$title = "Hello World"; include("header.inc");
$result = mysql_query("SELECT * FROM employees",$db);
echo "<table border=1>n";
echo "<tr><td>名字</td><td>职位</tr>n";
while ($myrow = mysql_fetch_row($result)) {
printf("<tr><td>%s %s</td><td>%s</tr>n", $myrow[1], $myrow[2], $myrow[3]); }
echo "</table>n";
include("footer.inc");
?>

看到发生了什么事了吗?头文件里的内容被合并到程序中,PHP把所有的代码都执行了一遍。注意在包含header.inc头文件之前$title是如何定义的。在header.inc中的代码可以访问到它的值。这样,网页的标题就被改掉了。现在,您可以在任何程序中使用header.inc头文件了,您所要做的不过是在每个主程序中为$title变量取一个合适的值。

头文件、HTML、条件判定语句,还有循环语句,这些东西加在一些,您就可以用最简练的代码,写出功能各异的各种复杂程序来。在与函数同时使用时,头文件更能发挥它的效力,我们后面就会看到。

 

咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册