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 相关文章推荐
超级简单的发送邮件程序
Oct 09 PHP
信用卡效验程序
Oct 09 PHP
Windows7下PHP开发环境安装配置图文方法
May 20 PHP
PHP 杂谈《重构-改善既有代码的设计》之一 重新组织你的函数
Apr 09 PHP
PHP获取搜索引擎关键字来源的函数(支持百度和谷歌等搜索引擎)
Oct 03 PHP
php接口与接口引用的深入解析
Aug 09 PHP
Symfony2之session与cookie用法小结
Mar 18 PHP
php json_encode与json_decode详解及实例
Dec 13 PHP
php验证码生成器
May 24 PHP
tp框架(thinkPHP)实现三次登陆密码错误之后锁定账号功能示例
May 24 PHP
PHP面向对象程序设计中的self、static、parent关键字用法分析
Aug 14 PHP
php实现通过stomp协议连接ActiveMQ操作示例
Feb 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
php从给定url获取文件扩展名的方法
2015/03/14 PHP
PHP接口并发测试的方法(推荐)
2016/12/15 PHP
PHP实现更改hosts文件的方法示例
2017/08/08 PHP
JAVASCRIPT keycode总结
2009/02/04 Javascript
JavaScript高级程序设计阅读笔记(五) ECMAScript中的运算符(一)
2012/02/27 Javascript
jQuery操作checkbox选择(list/table)
2013/04/07 Javascript
js 三级关联菜单效果实例
2013/08/13 Javascript
javascript避免数字计算精度误差的方法详解
2014/03/05 Javascript
js+HTML5基于过滤器从摄像头中捕获视频的方法
2015/06/16 Javascript
JS实现选中当前菜单后高亮显示的导航条效果
2015/10/15 Javascript
JavaScript直播评论发弹幕切图功能点集合效果代码
2016/06/26 Javascript
Web打印解决方案之证件套打的实现思路
2016/08/29 Javascript
详解Node.js开发中的express-session
2017/05/19 Javascript
vue使用swiper.js重叠轮播组建样式
2019/11/14 Javascript
微信小程序自定义联系人弹窗
2020/05/26 Javascript
[50:15]VP vs Mineski 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
Python实现批量更换指定目录下文件扩展名的方法
2016/09/19 Python
浅析python中numpy包中的argsort函数的使用
2018/08/30 Python
Python写一个基于MD5的文件监听程序
2019/03/11 Python
python 字典的打印实现
2019/09/26 Python
Python爬取爱奇艺电影信息代码实例
2019/11/26 Python
Python qrcode 生成一个二维码的实例详解
2020/02/12 Python
keras 获取某层输出 获取复用层的多次输出实例
2020/05/23 Python
通过python-pptx模块操作ppt文件的方法
2020/12/26 Python
tensorflow2.0教程之Keras快速入门
2021/02/20 Python
在HTML5 canvas里用卷积核进行图像处理的方法
2018/05/02 HTML / CSS
JavaScript+Canvas实现自定义画板的示例代码
2019/05/13 HTML / CSS
北京鼎普科技股份有限公司软件测试面试题
2012/04/07 面试题
社区禁毒工作方案
2014/06/02 职场文书
护士实习求职信
2014/06/22 职场文书
上课玩手机的检讨书
2014/10/01 职场文书
六一活动主持词
2015/06/30 职场文书
告诉你创业计划书的8个实用技巧
2019/07/12 职场文书
保安辞职申请书应该怎么写?
2019/07/15 职场文书
python保存图片的四个常用方法
2022/02/28 Python
解决spring.thymeleaf.cache=false不起作用的问题
2022/06/10 Java/Android