PHP4实际应用经验篇

王朝php·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

表单是一种给你的站点增加交互功能的最快,最容易的途径。表单允许你询问你的顾客是否喜欢你的产品,让不经意访问到你的站点的访问者留下评论,或者向漂亮的美眉们要她们的电话号码。PHP能大大简化基于网页表单提交的数据处理工作-如下面我们的第一个例子所示:

--------------------------------------------------------------------------------

< html>

< head>

< basefont face="宋体">

< /head>

< body>

< center>

< form method="GET" action="login.php">

< table cellspacing="5" cellpadding="5" border="0">

< tr>

< td>

< font size="-1">请问你的名字是?< /font>

< /td>

< td align="left">

< input type="text" name="name" size="10">

< /td>

< /tr>

< tr>

< td colspan="2" align="center">

< input type="submit">

< /td>

< /tr>

< /table>

< /form>

< /center>

< /body>

< /html>

--------------------------------------------------------------------------------

整个页面最值得注意的是那个 < FORM> 标签

--------------------------------------------------------------------------------

< form method="GET" action="login.php">

...

< /form>

--------------------------------------------------------------------------------

你可能已经知道了,< FORM>标签的ACTION属性值明确指定了将处理表单里输入的信息的服务器端脚本名-在这里是"login.php",而 METHOD属性是说明信息将如何传送。

现在给你揭开迷团的另一半-"login.php" 脚本文件。如果不出意外,这个脚本将接受输入的名字,检查是否用户存在,决定是允许还是拒绝进入站点。由于你还没学到PHP的条件语句和逻辑处理,我们现在不打算给你论证清楚-相反,我们仅仅给你展示在前面表单里提交的数据是如何被传送到 "login.php",并能被这个文件使用的。

这就是 "login.php"

--------------------------------------------------------------------------------

< html>

< head>

< basefont face="宋体">

< /head>

< body>

< center>

< font face="宋体" size="-1">

我想知道你是否听说过莎士比亚,< ? echo $name; ?>.

< p>

他要求得到一束另一个名字的玫瑰花,因为那束闻起来可能会更芳香一些。

< p>

你认为呢?

< /font>

< /center>

< /body>

< /html>

--------------------------------------------------------------------------------

当你在表单里输入数据,例如(“张三”),并且提交后,你将看到如下页面:

--------------------------------------------------------------------------------

我想知道你是否听说过莎士比亚,张三

他要求得到一束另一个名字的玫瑰花,只为那束闻起来可能会更芳香一些

你认为呢?

--------------------------------------------------------------------------------

你将看到,无论何时,当表单提交给PHP脚本时,所有的表单里的变量值和表单的名字将成对地输送到脚本中,从而可以被脚本任意调用。在上面的例子中,当表单被提交后,变量$name在脚本 "login.php"中被自动创建,并且表单里用户输入的值也被赋给该变量。

如果你用Perl来做同样的事情,你需要非常清楚地写出Perl代码来获取表单里的变量值。通过自动创建并赋值,PHP简化了你的代码,大大提高了开发速度-表单处理是PHP优于Perl的两个原因之一。

很明显,PHP也支持表单提交的 POST方法,所有你需要做的仅仅是把METHOD的值标注为"POST" 。

当然,你刚才看到的那个例子是非常基本的。真正来点重量级的程序,你需要知道如何去组织条件语句。非常基本的条件语句是比较语句-例如:“如果某和某相等,则用某种方法做这个动作”

PHP有一串特意设计的操作符以方便在条件语句中使用。这儿是一个列表:

假设 $delta = 12 并且 $omega = 9

操作符

意义

表达方式

结果

==

等于

$delta == $omega

False

!=

不等于

$delta != $omega

True

>

大于

$delta > $omega

True

<

小于

$delta < $omega

False

>=

大于或等于

$delta > = $omega

True

<=

小于或等于

$delta <= $omega

False

PHP4还增加了一种新的操作符"===",用来测试两个数据数值和类型是否都相同,在这一部分的最后一小节有一个简单的例子。

在PHP中,最简单的条件语句的形式是 "if" 语句,一般如下所示:

--------------------------------------------------------------------------------

if (条件)

{

do this!

}

--------------------------------------------------------------------------------

这里的 "条件" 是一个条件的描述, PHP经过判断将得出"true"或"false"的任意之一值。如果是真值,所有大括弧里的PHP代码将被执行,相反,如果是假值大括弧里的代码将被忽略,继续执行"if"语句结构块以后的行。

我们通过给上面的 "login.php"脚本添加一个身份认证的例子来给你演示 "if" 语句是如何工作的。只有当用户输入的用户名是"neo"时才允许接入。

--------------------------------------------------------------------------------

< html>

< head>

< basefont face="宋体">

< /head>

< body>

< center>

< ?

// 检查名字并反馈相应的信息

if ($name == "neo")

{

?>

< font face="Arial" size="-1">

欢迎进入母体,Neo。

< p>

也许是武力强迫你才这样做的,,,哦,不正当的影片!< /font>

< ?

}

?>

< ?

//如果密码错了的话

if ($name != "neo")

{

?>

< font face="Arial" size="-1">

我想知道你是否听说过莎士比亚, < ? echo $name; ?>.

< p>

他要求得到一束另一个名字的玫瑰化,因为那束闻起来可能会更芳香一些。

< p>

对于你,很不幸,我不同意。拒绝进入!

< /font>

< ?

}

?>

< /center>

< /body>

< /html>

--------------------------------------------------------------------------------

在这种情况下, "if" 语句通过判断输入的密码是否正确来反馈相应的两种信息。PHP还允许你“嵌套”条件语句-例如,这是一段有效的PHP代码:

--------------------------------------------------------------------------------

< ?

if ($day == "Thursday")

{

if ($time == "12")

{

if ($place == "Italy")

{

$lunch = "pasta";

}

}

}

?>

除了"if"语句,PHP还提供了"if-else"结构,用来定义当语句中的条件描述为"false”值时所执行的PHP代码。

"if-else" 结构使用方法如下:

--------------------------------------------------------------------------------

if (condition)

{

do this!

}

else

{

do this!

}

--------------------------------------------------------------------------------

你将看到,这种结构可以用来对上一篇那个例子进行大大简化-替代两个分开的 "if" 语句嵌套,我们可以把他们混合在一个单一的"if-else" 语句中:

--------------------------------------------------------------------------------

< html>

< head>

< basefont face="Arial">

< /head>

< body>

< center>

< ?

// 检查名字并反馈相应的信息

if ($name == "neo")

{

?>

< font face="Arial" size="-1">

欢迎进入母体,Neo。

< p>

也许是武力强迫你才这样做的,,,哦,不正当的影片!

< /font>

< ?

}

else

{

?>

< font face="Arial" size="-1">

我想知道你是否听说过莎士比亚, < ? echo $name; ?>.

< p>

他要求得到一束另一个名字的玫瑰化,因为那束闻起来可能会更芳香一些。

< p>

对于你,很不幸,我不同意。拒绝进入!

< /font>

< ?

}

?>

< /center>

< /body>

< /html>

PHP还给你提供了一种处理多种可能的方式-"if-elseif-else"结构。一个典型的"if-elseif-else"结构语句将如下所示:

--------------------------------------------------------------------------------

if (第一个条件正确)

{

do this!

}

elseif (第二个条件正确)

{

do this!

}

elseif (第三个条件正确)

{

do this!

}

... 等等 ...

else

{

do this!

}

--------------------------------------------------------------------------------

这儿有一个说明如何使用的例子:

--------------------------------------------------------------------------------

< html>

< head>

< style type="text/css">

td {font-family: Arial;}

< /style>

< /head>

< body>

< font face="Arial" size="+2">

令人惊奇的幸运甜饼生产程序

< /font>

< form method="GET" action="cookie.php">

< table cellspacing="5" cellpadding="5" border="0">

< tr>

< td align="center">

请选择日期

< /td>

< td align="right">

< select name="day">

< option value="Monday">Monday

< option value="Tuesday">Tuesday

< option value="Wednesday">Wednesday

< option value="Thursday">Thursday

< option value="Friday">Friday

< option value="Saturday">Saturday

< option value="Sunday">Sunday

< /select>

< /td>

< /tr>

< tr>

< tr>

< td c

[1] [2] 下一页

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航