PHP4实际应用经验篇(8)


Posted in PHP onOctober 09, 2006

作者:孙运动

你可能已经注意到,到目前为止,在我们给你的所有例子中,我们都是给你两个页面-一个单纯的具有表单的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">
--------------------------------------------------------------------------------

PHP 相关文章推荐
php中几种常见安全设置详解
Apr 06 PHP
smarty模板嵌套之include与fetch性能测试
Dec 05 PHP
有关PHP中MVC的开发经验分享
May 17 PHP
php中explode与split的区别介绍
Oct 03 PHP
php 使用GD库为页面增加水印示例代码
Mar 24 PHP
php防止sql注入之过滤分页参数实例
Nov 03 PHP
PHP中SimpleXML函数用法分析
Nov 26 PHP
PHP中调用SVN命令更新网站方法
Jan 07 PHP
分享3个php获取日历的函数
Sep 25 PHP
php上传大文件设置方法
Apr 14 PHP
php redis实现对200w用户的即时推送
Mar 04 PHP
php实现查询功能(数据访问)
May 23 PHP
一个简单的MySQL数据浏览器
Oct 09 #PHP
PHP生成便于打印的网页
Oct 09 #PHP
PHP4实际应用经验篇(5)
Oct 09 #PHP
数据库的日期格式转换
Oct 09 #PHP
PHP个人网站架设连环讲(四)
Oct 09 #PHP
用PHP+java实现自动新闻滚动窗口
Oct 09 #PHP
如何将数据从文本导入到mysql
Oct 09 #PHP
You might like
Amazon Prime Video平台《无限住人 -IMMORTAL-》2020年开始TV放送!
2020/03/06 日漫
php $_SERVER[&quot;REQUEST_URI&quot;]获取值的通用解决方法
2010/06/21 PHP
PHP面向对象分析设计的61条军规小结
2010/07/17 PHP
利用php实现禁用IE和火狐的缓存问题
2012/12/03 PHP
php使用imagick模块实现图片缩放、裁剪、压缩示例
2014/04/17 PHP
Zend Framework教程之Zend_Config_Ini用法分析
2016/03/23 PHP
php中pcntl_fork创建子进程的方法实例
2019/03/14 PHP
javascript this用法小结
2008/12/19 Javascript
ExtJS Store的数据访问与更新问题
2010/04/28 Javascript
jquery网页元素拖拽插件效果及实现
2013/08/05 Javascript
浅谈JavaScript字符串与数组
2015/06/03 Javascript
JavaScript中var关键字的使用详解
2015/08/14 Javascript
jQuery自动完成插件completer附源码下载
2016/01/04 Javascript
JS中setTimeout和setInterval的最大延时值详解
2017/02/13 Javascript
多个上传文件用js验证文件的格式和大小的方法(推荐)
2017/03/09 Javascript
利用Mongoose让JSON数据直接插入或更新到MongoDB
2017/05/03 Javascript
Angularjs 与 bower安装和使用详解
2017/05/11 Javascript
JS实现基于Sketch.js模拟成群游动的蝌蚪运动动画效果【附demo源码下载】
2017/08/18 Javascript
JQuery属性操作与循环用法示例
2019/05/15 jQuery
微信小程序在text文本实现多种字体样式
2019/11/08 Javascript
[01:04:39]OG vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
浅谈插入排序算法在Python程序中的实现及简单改进
2016/05/04 Python
python利用MethodType绑定方法到类示例代码
2017/08/27 Python
python实现串口通信的示例代码
2020/02/10 Python
地图可视化神器kepler.gl python接口的使用方法
2020/12/22 Python
小学教师自我鉴定
2013/11/07 职场文书
装修五一活动策划案
2014/01/23 职场文书
招聘与培训专员岗位职责
2014/01/30 职场文书
诚信贷款承诺书
2014/05/30 职场文书
2014大学生中国梦主题教育学习思想汇报
2014/09/10 职场文书
党支部2014年度工作总结
2014/12/04 职场文书
丧事答谢词
2015/01/05 职场文书
企业爱心捐款倡议书
2015/04/27 职场文书
老乡会致辞
2015/07/28 职场文书
简单总结SpringMVC拦截器的使用方法
2021/06/28 Java/Android
Python如何使用循环结构和分支结构
2022/04/13 Python