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静态新闻列表自动生成代码
Jun 14 PHP
ThinkPHP中实例Model方法的区别说明
Aug 21 PHP
允许phpmyadmin空密码登录的配置方法
May 29 PHP
解析PHP SPL标准库的用法(遍历目录,查找固定条件的文件)
Jun 18 PHP
解析PHP跨站刷票的实现代码
Jun 18 PHP
解析数组非数字键名引号的必要性
Aug 09 PHP
让CodeIgniter的ellipsize()支持中文截断的方法
Jun 12 PHP
PHP中使用gettext解决国际化问题的例子(i18n)
Jun 13 PHP
php操作xml入门之xml标签的属性分析
Jan 23 PHP
thinkPHP3.1验证码的简单实现方法
Apr 22 PHP
记录Yii2框架开发微信公众号遇到的问题及解决方法
Jul 20 PHP
laravel5.2表单验证,并显示错误信息的实例
Sep 29 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
模仿OSO的论坛(二)
2006/10/09 PHP
php中函数的形参与实参的问题说明
2010/09/01 PHP
PHP Curl多线程原理实例详解
2013/11/06 PHP
php时间戳格式化显示友好的时间函数分享
2014/10/21 PHP
php计算税后工资的方法
2015/07/28 PHP
一实用的实现table排序的Javascript类库
2007/09/12 Javascript
javascript IE中的DOM ready应用技巧
2008/07/23 Javascript
JavaScript Konami Code 实现代码
2009/07/29 Javascript
js,jQuery 排序的实现代码,网页标签排序的实现,标签排序
2011/04/27 Javascript
js获取网页可见区域、正文以及屏幕分辨率的高度
2014/05/15 Javascript
详解JavaScript中双等号引起的隐性类型转换
2016/05/30 Javascript
老生常谈js中0到底是 true 还是 false
2017/03/08 Javascript
webpack构建的详细流程探底
2018/01/08 Javascript
Vue Router去掉url中默认的锚点#
2018/08/01 Javascript
Python ldap实现登录实例代码
2016/09/30 Python
Python随机生成身份证号码及校验功能
2018/12/04 Python
python调用java的jar包方法
2018/12/15 Python
Python3中_(下划线)和__(双下划线)的用途和区别
2019/04/26 Python
python 使用plt画图,去除图片四周的白边方法
2019/07/09 Python
Pytorch 之修改Tensor部分值方式
2019/12/27 Python
python GUI库图形界面开发之PyQt5信号与槽多窗口数据传递详细使用方法与实例
2020/03/08 Python
JAVA中的关键字有什么特点
2014/03/07 面试题
销售自我评价
2013/10/22 职场文书
计算机维护专业推荐信
2014/02/27 职场文书
家长学校实施方案
2014/03/15 职场文书
个人授权委托书
2014/04/03 职场文书
中学生期中自我鉴定
2014/04/20 职场文书
工商企业管理应届生求职信
2014/05/04 职场文书
爱国主义教育活动总结
2014/05/07 职场文书
高三霸气励志标语
2014/06/24 职场文书
暑期培训班策划方案
2014/08/26 职场文书
营销总监岗位职责
2014/09/16 职场文书
个人四风问题对照检查材料
2014/09/26 职场文书
电影开国大典观后感
2015/06/04 职场文书
夏洛特的网观后感
2015/06/15 职场文书
如何书写先进事迹材料?
2019/07/02 职场文书