首页 » PHP和MySQL Web开发(原书第4版) » PHP和MySQL Web开发(原书第4版)全文在线阅读

《PHP和MySQL Web开发(原书第4版)》27.4 实现基本的网站

关灯直达底部

我们需要创建的第一页称为login.php,因为它向用户提供了登录系统的机会。该页面的代码如程序清单27-2所示。

程序清单27-2 login.php——PHPbookmark系统的首页

<?php

require_once('bookmark_fns.php');

do_html_header('');

display_site_info;

display_login_form;

do_html_footer;

?>

这段代码看起来非常简单,它大部分是调用我们将要为这个应用程序所创建的函数API。

稍后,我们就可看到这些函数的详细信息。从这些文件我们可以看出已经包含了一个文件(也就是包含了一些函数),调用一些函数绘制一个HTML标题,显示一些内容,然后再绘制一个HTML页脚。

以上脚本的输出如图27-3所示。

图 27-3 PHPbookmark系统的首页由login.php中的绘制HTML的函数创建

系统中的函数都包含在bookmark_fns.php文件中,如程序清单27-3所示。

程序清单27-3 bookmark_fns.php——包含Bookmark应用程序函数的文件

<?php

//We can include this file in all our files

//this way,every file will contain all our functions and exceptions

require_once('data_valid_fns.php');

require_once('db_fns.php');

require_once('user_auth_fns.php');

require_once('output_fns.php');

require_once('url_fns.php');

?>

可以看到,该文件就是本应用程序中将要使用到的5个其他包含文件的“容器”。设计成这样的结构是因为函数在逻辑上可以分为几组。这些组中的一些函数可能对其他项目有用处,因此我们将每个函数组保存不同的文件,这样就可以在再需要它们的时候知道到哪里去查找。创建bookmark_fns.php文件是因为在大部分脚本里都要用到这5个函数文件。在每个脚本里包含这一个文件而不是使用5个require语句,这样会更容易一些。

在这个例子中,我们使用的函数来自output_fns.php文件。这些函数相当直观,它们的输出都是非常明了的HTML。该文件包含了我们在login.php中使用的4个函数,即do_html_header、display_site_info、display_login_form和do_html_footer等。

本书不再深入讨论所有这些函数,只举例说明其中一个函数。do_html_header函数源代码如程序清单27-4所示。

程序清单27-4 output_fns.php文件中的函数do_html_header——

该函数输出在本应用程序的每个页面中都将出现的标准标题

function do_html_header($title){

//print an HTML header

?>

<html>

<head>

<title><?php echo$title;?></title>

<style>

body{font-family:Arial,Helvetica,sans-serif;font-size:13px}

li,td{font-family:Arial,Helvetica,sans-serif;font-size:13px}

hr{color:#3333cc;width=300px;text-align:left}

a{color:#000000}

</style>

</head>

<body>

<img src="bookmark.gif"border="0"

v/>

<h1>PHPbookmark</h1>

<hr/>

<?php

if($title){

do_html_heading($title);

}

}

可以看到,函数中唯一的逻辑是在页面中添加适当的标题。login.php中使用的其他函数与该函数类似。display_site_info函数添加一些关于网站的文本;display_login_form显示如图27-3所示的灰色表单;do_html_footer为页面添加一个标准的HTML页脚。

关于从主逻辑流中分离或删除HTML的意义,我们已经在第25章“在大型项目中使用PHP和MySQL”详细讨论过。在本章中,我们将介绍使用函数API方法。

在图27-3中,可以看到该页面有3个选择——用户可以注册、登录(如果已经注册)和修改密码(如果忘记了密码)。要实现这些模块,必须先了解下一节的用户身份验证。