在同一窗体中使用PHP来处理多个提交任务
2015-01-24信息快讯网
为什么使用多个提交任务?
在我回答这个问题之前,先让我回答一个很显然的问题:既然许多窗体更适合单一的提交按钮,为什么有时人们需要的是两个(或者是更多)的提交按钮?
对这一问题最好的解释方法是用我最近开发项目中的一个实例来说明。在这一项目中,我的任务是给一个图书馆建立一个详细目录查询系统。书籍题目被储存在数据库中,而管理员将可以使用一个基于浏览器功能的界面来查看其中任何一本书的记录,然后对这一记录上选择执行四种操作之一:成员还书登记,成员借书登记,书本丢失记录以及书本销售记录。
以上所有任务都要通过一个独立窗体来处理,这样就需要相应的按钮来响应这些任务。传入到窗体的数据将以不同的方式处理,这取决于被点击的按钮(借书/还书和成员记录相互关联;丢失/销售记录改变详细目录表)。由于一个窗体只能处理一个唯一的任务,但是相同的PHP脚本可以根据被点击的按钮和执行合适的代码段来处理以上四种任务。因此就需要处理多个提交任务按钮的单一窗体,以及实现不同按钮的自动响应的窗体处理代码段。
我首先列举一个简单例子:一个提交按扭的窗体。这样能够让你清楚地理解基本概念,并且为将要讲述的复杂范例打下铺垫。这里是一个窗体:
以下为引用的内容:
<html><head>Single-button form</head>
<body>
<form action="processor.php" method="post"> Enter a number: <input type="text" name="number" size="3"> <br>
<input type="submit" name="submit"> </form>
</body>
</html>
以下的是调用提交任务的processor.php脚本:
以下为引用的内容:
<?php
// check for submission
// retrieve value from posted data
if ($_POST['submit'])
{
echo "You entered the number " . $_POST['number']; }
?>
当一个窗体被提交给PHP脚本时,根据使用的提交方法(本文我假设为POST),PHP自动建立一个特定的$_POST或者$_GET数组。键入到窗体输入域内的数值会自动转化成数组中的关键数据,并可以使用常规数据符号来访问这些数据。
特别值得注意的是,如何在以上脚本中处理提交任务的按扭。当窗体被提交时,提交按钮根据自己实际的“name”转变成$_POST中的一个元素。添加以下一行代码就很清楚了:
print_r($_POST);
为了了解以上PHP脚本,你可以查看数组的内部结构,并可以清楚地看到不同窗体控件之间的相互联系。
php守护进程 加linux命令nohup实现任务每秒执行一次
PHP计划任务、定时执行任务的实现代码
PHP计划任务之关闭浏览器后仍然继续执行的函数
通俗易懂的php防注入代码
用PHP实现读取和编写XML DOM代码
php session和cookie使用说明
php抓取https的内容的代码
php中几种常见安全设置详解
PHP5 字符串处理函数大全
php下使用SimpleXML 处理XML 文件
php 处理上百万条的数据库如何提高处理查询速度
Zend framework处理一个http请求的流程分析
处理php自动反斜杠的函数代码
PHP小程序自动提交到自助友情连接
php 多个submit提交表单 处理方法
PHP 表单提交给自己
使用PHP socke 向指定页面提交数据
php socket方式提交的post详解
php adodb连接带密码access数据库实例,测试成功
用php+javascript实现二级级联菜单的制作
php xfocus防注入资料
php SQL防注入代码集合
php中文字母数字验证码实现代码
Ajax PHP简单入门教程代码
asp和php下textarea提交大量数据发生丢失的解决方法
PHP编程中字符串处理的5个技巧小结
PHP 中的批处理的实现
给apache2.2加上mod_encoding模块後 php5.2.0 处理url出现bug
PHP 中英文混合排版中处理字符串常用的函数
PHP中的日期处理方法集锦
在同一窗体中使用PHP来处理多个提交任务