摘要
在这一章中,我们将介绍PHP这个服务器端的脚本语言。我们将会看到,这个语言可以很好地支持与MySQL数据库的通信。
(2002-08-29 14:10:52)
--------------------------------------------------------------------------------
By Wing, 出处:Linuxaid
第三章:PHP入门
在上一章中,我们学习了如何使用MySQL数据库引擎在一个简单的数据库(只包含一个叫Jokes的数据表)中存储一个笑话的列表。当时,我们是通过在MySQL客户端的命令行来输入SQL命令(查询语句)来完成的。在这一章中,我们将介绍PHP这个服务器端的脚本语言。我们将会看到,这个语言可以很好地支持与MySQL数据库的通信。
PHP简介
正如我们在前面提到的,PHP是一个服务器端的脚本语言。这个概念可能很难理解,特别是如果你以前只用过HTML和JavaScript来设计过网页时更是如此。一个服务器端的脚本程序与JavaScript在许多地方有点相像,两者都允许你在Web页面的HTML中插入一些程序(脚本)。其结果就是,这些脚本使你可以控制在浏览器窗口内会显示什么,这显然要比直接使用HTML要来得灵活得多。
JavaScript和PHP的关键的不同点是:当Web浏览器解释JavaScript时,包含这个脚本的Web页面已经被下载了,而对于象PHP这样的服务器端脚本程序来说,解释的工作是由服务器在将页面发出到浏览器之前完全的。解释工作完成后,Web页面中的PHP的代码将由脚本运行的结果所代替,浏览者看到的完全是标准的HTML文件。脚本是完全由服务器来处理的。这也就是它的命名的由来:服务器端脚本程序。
让我们再回头看看我们在第一章里建立的示例today.php:
<HTML>
<HEAD>
<TITLE>Today's Date</TITLE>
</HEAD>
<BODY>
<P>Today's Date (according to this Web server) is</p>
<?ph
echo( date("l, F dS Y.") );
?>
</BODY>
</HTML>
这个程序中的绝大多数是采用HTML格式的。只有在中间的行是用PHP写的。 表示“结束PHP代码”。Web服务器在将这个Web页面发送到请求它的浏览器之前会对这个两个标识符之前的所有内容进行处理,并将其转换成标准的HTML代码。浏览器接受到的页面将是这样的:
<HTML>
<HEAD>
<TITLE>Today's Date</TITLE>
</HEAD>
<BODY>
<P>Today's Date (according to this Web server) is</p>
Wednesday, June 7th 2000.
</BODY>
</HTML>
请注意,现在所有的PHP代码都没有被显示。它们被相应的标准的HTML所取代,能过这个例子,我们可以看到服务器端脚本的几个优势:
不存在浏览器兼容的问题。PHP脚本仅仅是由Web服务器来解释的,所以我们不必担心你使用的语言是否能被你的访问者的浏览器所支持。
可以访问服务器端的资源。在上面的例子中,我们在Web页面中放置了Web服务器的日期。而当我们使用的是JavaScript,要实现同样的功能,我们只能显示Web浏览器在上面运行的计算机的日期。这个例子还对于使用服务器端的资源还不是十分典型的,事实上我们可以很方便地插入一些其他的信息,而这些信息只能通过运行在服务器上的脚本来调用,例如,运行在Web服务器上的MySQL数据库中存储的信息。
简化了客户端的装载。JavaScript会明显降低Web页面的显示速度,因为在显示这个Web页面之前,浏览器首先得运行JavaScript脚本。而对于服务器端脚本来说,这种负担将由Web服务器独自承担。
基本的语法和命令
对于任何一个用过C、C++、Java、JavaScript、Perl或其他源自C的语言的人,PHP的语法都会让你觉得非常熟悉。一个PHP脚本包含一系列的命令(语句),Web服务器必须依次处理这些指令。与上面提到的其他语言一样,PHP语句也总是以分号(;)结束。
这是一个典型的PHP语句:
echo( "This is a test!" );
这个语句调用了一个叫echo的内置函数,并传递给它这么一个字符串:“This is a test! ”。内置函数你可以理解为“不需要另外的说明PHP就能知道该怎么做”的事情。PHP有很多的内置函数,我们可以利用它们来做许多事,从发送e-mail到处理存储在数据库中的不同类型的数据都是它们的管辖范围。echo函数只是简单地将传递给它的文本插入到HTML页面的当前位置。你可以看看下面这个例子:
<HTML>
<HEAD>
<TITLE> Simple PHP Example </TITLE>
</HEAD>
<BODY>
<P><?php echo("This is a <B>test</B>!"); ?></P>
</BODY>
</HTML>
如果你给这段代码起名为test.php(或者test.php3,如果你的Web主机还没有将.php文件配置为PHP脚本),并将它放置到你的Web服务器上,浏览器看到的将是这样的一页:
<HTML>
<HEAD>
<TITLE> Simple PHP Example </TITLE>
</HEAD>
<BODY>
<P>This is a <B>test</B>!</P>
</BODY>
</HTML>
请注意,包含HTML标识符(和)在内的所有文本都被正确地显示了出来。
你也许会感到疑惑,我们为什么要在这里使用括号和引号。引号在PHP中是用来标志字符串的开始和结束。括号有双重作用,首先,它指出echo是一个你想要调用的函数,其次,它标志了这个函数的参数的开始和结束。通过参数,你可以指挥你的函数去干什么。对于echo函数,我们只需要给它一个字符串,用来在页面上显示,但是我们将会看到有些函数有几个参数(在这种情况下,我们用逗号分开各个参数)。即使对于没有参数的函数,我们仍需要有括号,只不过在括号中间我们不必输入任何内容。
变量和运算符
PHP中的变量与许多其它程序中的变量一样。当还未被初始化时,变量仅仅是一个假想的容器的名字,其中可以存放任何数值。下面的语句建立了一个叫$testvariable(在PHP中所有的变量都以一个美元符开始)并将其赋值为3:
$testvariable = 3;
PHP是一个“宽松类型”的语言,这就是说,一个变量可以包含任何类型的数据(数字、字符串或者其他类型),在它的存活期内其类型可以自由地转换。所以如果在上面的语句后再出现这样的语句,这就意味着给我们的已经存在的$testvariable变量重新赋了一个值。这个变量从一个数值变量变成了一个字符串变量:
$testvariable = "Three";
在上面的两个语句中我们用到的等于号被称之“赋值运算符”,它是用来给一个变量赋值的。另外,我们还有一些执行数学运算的运算符:
$testvariable = 1 + 1; //变量赋值为2。
$testvariable = 1 - 1; //变量赋值为0。
$testvariable = 2 * 2; //变量