PHP和MySQL入门(7)
解决方案是在我们站点的每一个页面都检查是否指定了一个用户名,如果需要,应该提求用户输入用户名。这意味着我们站点上的每一个页面都必须能显示用户名,在未指定用户名时,应提示用户输入。如果你现在就想到了使用if-else语句,那证明你的学习能力真的不错!
我们的“多功能页面”应该根据不同的条件显示完全不同的内容,这个页面的源程序将会是这样的:
<HTML> <HEAD> <TITLE> Multi-Purpose Page Outline </TITLE> </HEAD> <BODY> <?php if (<condition>) { ?> <!-- HTML content to display if <condition> is true --> <?php } else { ?> <!-- HTML content to display if <condition> is false --> <?php } ?> </BODY> </HTML> |
这段程序初看上去很混乱,但是事实上这仍然是普通的if-else语句,只不过在其中插入了 HTML代码,而不是我们之前使用的PHP语句。这个例子说明 了PHP的一个很大的优点:你可以自由地选择在什么时候进行或退出“PHP模式”。你可以将<?php看成是进入“PHP模式”的命令, 将?>看成是返回到“普通的HTML模式”的命令。这样上面的例子就变得很容易理解了。
if-else语句还有另外的一种格式,使用这种格式将使你的程序更易读懂。如果使用这种格式,我们的“多功能页面”的源程序将是这样的:
<HTML> <HEAD> <TITLE> Multi-Purpose Page Outline </TITLE> </HEAD> <BODY> <?php if (<condition>): ?> <!-- HTML content to display if <condition> is true --> <?php else: ?> <!-- HTML content to display if <condition> is false --> <?php endif; ?> </BODY> </HTML> Ok,现在我们已经有了所有我们需要的工具,让我们看看我们的站点中的一个样页: <HTML> <HEAD> <TITLE> Sample Page </TITLE> </HEAD> <BODY> <?php if ( isset($name) ): ?> <P>Your name: <?php echo($name); ?></P> <P>This paragraph contains a <A HREF="newpage.php?name=<?php echo(urlencode ($name)); ?>">link</A> that passes the name variable on to the next document.</P> <?php else: ?> <!-- No name has been provided, so we prompt the user for one. --> <FORM ACTION=<?php echo($PHP_SELF); ?> METHOD=GET> Please enter your name: <INPUT TYPE=TEXT NAME="name"> <INPUT TYPE=SUBMIT VALUE="GO"> </FORM> <?php endif; ?> </BODY> </HTML> |
在上面的程序中出现了两个新的东西,但是理解它们应该不是太困难的。首先,我们在条件中使用了 一个新的函数:isset。当变量已经被赋值(在我们这里也 就是指提供了用户名),该函数将返回(输出)一个逻辑真;当变量没有被赋值(在我们这里也就是指没有提供用户名),该函数将返回(输出)一个逻辑假。第二 个新东西是在指定FORM标志中的ACTION属性中使用了$PHP_SELF变量。这个变量是自动产生的系统变量之一。具体地说,$PHP_SELF总 是被设置成当前页面的URL。当一个表单在提交时指向同一个页面时,这给我们提供一个简单的做法。只不过这时的$name变量已经被赋值了。
将这一段加到你的网站上的所有网页上后,不管访问者第一次访问的是什么网页,都会被提示输入用 户名。只有在输入了用户名并按了“GO”,才能到达他们真正 想要访问的网页。输入的用户名会被通过每个连接中的查询字符串传递到之后的各个页面,这样就可以确保只要求访问者输入一次用户名。
结语
在这一章内,我们介绍了PHP的所有的基本语法:语句、变量、运算符以及控制语句。我们的例子 是非常的简单。但是事实上PHP的强大功能在于它内置的数百 个函数,利用这些函数你可以访问MySQL数据库中的数据来发送邮件,可以通过动态产生的图象来建立PDF文件,你还可以做其他的很多事情