在同一窗体中使用php来处理多个提交任务


PHP中的处理窗体数据比其它网页程序语言更简单——如果你使用这种语言一段时间后,你会发现这是一个不可争辩的事实。这种操作的简易性使它可以容易地处理更为复杂的窗体事件,包括今天讨论的主题,即在同一个窗体中通过多个按钮来处理不同的任务。
  为什么使用多个提交任务?

  在我回答这个问题之前,先让我回答一个很显然的问题:既然许多窗体更适合单一的提交按钮,为什么有时人们需要的是两个(或者是更多)的提交按钮?

  对这一问题最好的解释方法是用我最近开发项目中的一个实例来说明。在这一项目中,我的任务是给一个图书馆建立一个详细目录查询系统。书籍题目被储存在数据库中,而管理员将可以使用一个基于浏览器功能的界面来查看其中任何一本书的记录,然后对这一记录上选择执行四种操作之一:成员还书登记,成员借书登记,书本丢失记录以及书本销售记录。

  以上所有任务都要通过一个独立窗体来处理,这样就需要相应的按钮来响应这些任务。传入到窗体的数据将以不同的方式处理,这取决于被点击的按钮(借书/还书和成员记录相互关联;丢失/销售记录改变详细目录表)。由于一个窗体只能处理一个唯一的任务,但是相同的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 ()
  {
  echo "You entered the number " . ; }

  ?>

  当一个窗体被提交给PHP脚本时,根据使用的提交方法(本文我假设为POST),PHP自动建立一个特定的 

  特别值得注意的是,如何在以上脚本中处理提交任务的按扭。当窗体被提交时,提交按钮根据自己实际的“name”转变成

  print_r(Array); 

本文作者:



相关阅读:
Prototype实战教程----13.Form.Element.Observer
在SQL Server 2005中编写sp_lock系统存储过程
asp在线执行sql语句的函数
asp.net验证一个字符串是否符合指定的正则表达式
javascript 框架小结 个人工作经验
PHP 程序员的调试技术小结
ASP.NET入门教程:HTML服务器控件
Javascript教程:展示风格的价值
MySQL高级特性----对比与其他数据库
一个php作的文本留言本的例子(五)
Dom入门教程图解 推荐
Windows Server 2003 SP1 今日发布
磁盘管理--dirs
Windows7切换屏幕的快捷方法是什么
快速导航

Copyright © 2016 phpStudy |