快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

在同一窗体中使用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 ($_POST[\\\'submit\\\'])
{
echo "You entered the number " . $_POST[\\\'number\\\']; }

?>

当一个窗体被提交给PHP脚本时,根据使用的提交方式(本文我假设为POST),PHP自动建立一个特定的$_POST或者$_GET数组。键入到窗体输入域内的数值会自动转化成数组中的要害数据,并可以使用常规数据符号来访问这些数据。

特殊值得注重的是,如何在以上脚本中处理提交任务的按扭。当窗体被提交时,提交按钮根据自己实际的“name”转换成$_POST中的一个元素。添加以下一行代码就很清晰了:

print_r($_POST);

为了了解以上PHP脚本,你可以查看数组的内部结构,并可以清晰地看到不同窗体控件之间的相互联系。





返回类别: 教程
上一教程: PHP4之真OO
下一教程: PHP+Javascript液晶时钟

您可以阅读与"在同一窗体中使用PHP来处理多个提交任务"相关的教程:
· 用PHP处理多个同名复选框
· 在PHP中使用灵巧的体系结构(摘)
· 在PHP中使用灵巧的体系结构
· 如何在PHP中使用Oracle数据库(3)
· 如何在PHP中使用Oracle数据库(1)
    微笑服务 优质保证 索取样品