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 htmlentities和htmlspecialchars 的区别
Aug 18 PHP
基于Zookeeper的使用详解
May 02 PHP
php 获取本地IP代码
Jun 23 PHP
PHP5各个版本的新功能和新特性总结
Mar 16 PHP
PHP5.3与5.5废弃与过期函数整理汇总
Jul 10 PHP
php检测url是否存在的方法
Apr 14 PHP
用PHP代码给图片加水印
Jul 01 PHP
PHP实现数据分页显示的简单实例
May 26 PHP
php取出数组单个值的方法
Mar 12 PHP
Laravel框架使用Redis的方法详解
May 30 PHP
在Laravel5中正确设置文件权限的方法
May 22 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
Nov 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信息的类
2007/01/02 PHP
一个PHP分页类的代码
2011/05/18 PHP
深入探讨:Nginx 502 Bad Gateway错误的解决方法
2013/06/03 PHP
使用JQuery进行跨域请求
2010/01/25 Javascript
使用PHP+JQuery+Ajax分页的实现
2013/04/23 Javascript
运用jQuery定时器的原理实现banner图片切换
2014/10/22 Javascript
JS实现5秒钟自动封锁div层的方法
2015/02/20 Javascript
JS实现先显示大图后自动收起显示小图的广告代码
2015/09/04 Javascript
BootStrap glyphicons 字体图标实现方法
2016/05/01 Javascript
JS 面向对象之继承---多种组合继承详解
2016/07/10 Javascript
JS获取IE版本号与HTML设置IE文档模式的方法
2016/10/09 Javascript
jquery 多个radio的click事件实例
2016/12/03 Javascript
js输入框使用正则表达式校验输入内容的实例
2017/02/12 Javascript
浅谈ECMAScript6新特性之let、const
2017/08/02 Javascript
jquery获取select选中值的文本,并赋值给另一个输入框的方法
2018/08/21 jQuery
微信小程序移动拖拽视图-movable-view实例详解
2019/08/17 Javascript
[49:35]2018DOTA2亚洲邀请赛3月30日 小组赛A组 KG VS TNC
2018/03/31 DOTA
python中input()与raw_input()的区别分析
2016/02/27 Python
代码讲解Python对Windows服务进行监控
2018/02/11 Python
Python matplotlib 画图窗口显示到gui或者控制台的实例
2018/05/24 Python
利用pandas进行大文件计数处理的方法
2018/07/25 Python
基于Python中random.sample()的替代方案
2020/05/23 Python
Django中日期时间型字段进行年月日时分秒分组统计
2020/11/27 Python
pycharm 使用anaconda为默认环境的操作
2021/02/05 Python
【HTML5】3D模型--百行代码实现旋转立体魔方实例
2016/12/16 HTML / CSS
奥地利网上书店:Weltbild
2017/07/14 全球购物
Desigual美国官方网站:西班牙服装品牌
2019/03/29 全球购物
美国家居装饰店:Z Gallerie
2020/12/28 全球购物
学院书画协会部门职责
2013/11/28 职场文书
秘书行业自我鉴定范文
2013/12/30 职场文书
80后职场人的职业生涯规划
2014/03/08 职场文书
三项教育活动实施方案
2014/03/30 职场文书
电焊工岗位工作职责
2014/07/09 职场文书
师德师风个人总结
2015/02/06 职场文书
2015大学生求职信范文
2015/03/20 职场文书
宿舍管理制度范本
2015/08/07 职场文书