PHP4实际应用经验篇(8)

你可能已经注意到,到目前为止,在我们给你的所有例子中,我们都是给你两个页面-一个单纯的具有表单的HTML页面,和另一个用来处理表单输入并产生相应输出的PHP脚本。然而,PHP提供了一种把那两个页面通过 $submit 变量结合在一起的文雅的方法

  你已经知道,一旦一个表单提交给PHP脚本,所有的表单变量就变成了的PHP变量。现在,除了用户定义的变量外,在你每次点击表单的“提交(SUBMIT )”按扭的同时,也就创建了一个名为 $submit的变量。因此,通过测试该变量是否存在,聪明的程序员可以只使用一个页面来既初始化表单又产生提交后的输出。  

  让我们给你示范一下-我们用一个页面来实现上面那个幸运甜饼例子,包括最初的选择日期页面和后面的幸运甜饼页面。我们假设新的PHP文件也叫"cookie.php"

--------------------------------------------------------------------------------
<  ?

if (!$submit)
{
// 如果$submit不存在, 这暗示表单还没有提交
// 所以显示第一个页面

?>

< html>
< head>
< style type="text/css">
td {font-family: Arial;}
< /style>
< /head>

< body>

< font face="Arial" size="+2">
The Amazing Fortune Cookie Generator
< /font>

< form method="GET" action="cookie.php">
< table cellspacing="5" cellpadding="5" border="0">

< tr>
< td align="center">
Pick a day
< /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 colspan="2" align="center">
< input type="submit" name="submit" value="Hit me!">
< /td>
< /tr>
< /table>
< /form>
< /body>

< /html>

< ?
}
else
{

// 如果$submit 确实存在了,表单已经被提交了
// 所以使用switch()函数来处理

// 这里的决定变量是用户选择的日期
switch ($day)
  {

// 第一种情况
        case "Monday":
        $fortune = "当能找到使每件事做的复杂精彩的方法的时候,不要使它简单有效";
        break;

// 第一种情况
        case "Tuesday":
        $fortune = "生活是游戏的桥梁?-你一定施展某种巧计了。";
        break;

        case "Wednesday":
        $fortune = "什么能使头脑清醒的人生活在这个世界上永不发疯?";
        break;

        case "Thursday":
        $fortune = "不要疯狂,要有趣";
        break;

        case "Friday":
        $fortune = "仅仅跟着时代走,顺着风气行,当你得到提升时你会发现类型是个魔鬼。";
        break;

// 如果以上条件都不符合...
        default:
        $fortune = "很抱歉,周末关门";
        break;

        }

?>

< html>
< head>
< basefont face="Arial">
< /head>

< body>
Here is your fortune for < ? echo $day; ?>:
< br>
< b>< ? echo $fortune; ?>< /b>

< /body>
< /html>

< ?
}
?>
--------------------------------------------------------------------------------
  正如你所看到的,脚本首先测试 $submit变量是否存在,如果没找到,它将认为表单没有提交并且显示最初的日期选择列表。

   由于< FORM>标签的 ACTION属性设为同一个 PHP脚本,一旦表单被提交,同一个脚本将被呼叫来处理表单的输入。然而,被呼叫后的这次$submit变量将已经存在了,所以将不再显示最初的页面,反而显示具有幸运甜饼的页面了。

   注意为了使这些能正常工作,你的

--------------------------------------------------------------------------------
< input type="submit">
--------------------------------------------------------------------------------
  必须有一个赋予"submit"值的NAME属性。

--------------------------------------------------------------------------------
< input type="submit" name="submit">
--------------------------------------------------------------------------------

时间: 2024-10-20 23:36:54

PHP4实际应用经验篇(8)的相关文章

PHP4实际应用经验篇(9)

" ===" 操作符 ------------------------ 我们上面已经提到过, PHP4 增加了一个新的 === 操作符来测试是否变量具有相同的类型.这儿有一个例子: -------------------------------------------------------------------------------- < ? if (!$submit) { // 如果$submit不存在, 这暗示表单还没有提交 // 所以显示第一个页面 ?> <

PHP4实际应用经验篇(4)

除了"if"语句,PHP还提供了"if-else"结构,用来定义当语句中的条件描述为"false"值时所执行的PHP代码. "if-else" 结构使用方法如下: -------------------------------------------------------------------------------- if (condition) { do this! } else { do this! } ------

PHP4实际应用经验篇(2)

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

PHP4实际应用经验篇(4)_php基础

作者:孙运动 除了"if"语句,PHP还提供了"if-else"结构,用来定义当语句中的条件描述为"false"值时所执行的PHP代码. "if-else" 结构使用方法如下: -------------------------------------------------------------------------------- if (condition) { do this! } else { do this! }

PHP4实际应用经验篇(2)_php基础

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

PHP4实际应用经验篇(9)_php基础

作者:孙运动 " ===" 操作符 ------------------------ 我们上面已经提到过, PHP4 增加了一个新的 === 操作符来测试是否变量具有相同的类型.这儿有一个例子: -------------------------------------------------------------------------------- < ? if (!$submit) { // 如果$submit不存在, 这暗示表单还没有提交 // 所以显示第一个页面 ?&

PHP4实际应用经验篇

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

PHP4实际应用经验篇(7)

另一种和 "if-else"家族控制语句功能几乎相同的是PHP的"switch"语句.它看起来如下所示: -------------------------------------------------------------------------------- switch (决定变量) { case 第一个条件正确: do this! case 第二个条件正确: do this! case 第三个条件正确: do this! ... 等等... } ----

PHP4实际应用经验篇(6)

现在,你已经明白PHP允许你嵌套条件语句.然而,如果你再看看那个用来示范此概念的例子时你将同意那是既复杂又令人感到可怕. -------------------------------------------------------------------------------- < ? if ($day == "Thursday")     {     if ($time == "12")         {         if ($place == &