表格有两个提交 - 一个新手范围问题

时间:2010-09-01 12:05:44

标签: php scope

 if (isset ($_POST['somethingA']))
 {
      //code for doing something A
 }
 elseif (isset ($_POST['somethingB']))
 {
      //code for doing something B
 }

我需要从someA代码中访问某些数据,然后访问B代码。

我怎样才能以正确的方式做到这一点?

我应该在条件语句之外声明一个变量,在条件语句内部工作,以后(底部)我使用它吗?

我应该在条件句中使用它们吗?不知何故,在条件行之后将它们拉出来?

提前致谢, MEM

3 个答案:

答案 0 :(得分:0)

你可能会像你说的那样做:

$innervar = null;

if (isset ($_POST['somethingA']))
 {
      $innervar = new A();
      //code for doing something A
 }
 elseif (isset ($_POST['somethingB']))
 {
      $innervar = new B();
      //code for doing something B
     }

$innervar->CommonMethod();

如果您正在访问$ _POST直接考虑使用某种类型的框架,如symfony或Zend,除非您正在学习或在一个非常简单的(家庭)项目中工作。

祝你好运 大卫

答案 1 :(得分:0)

你应该在外面声明变量。因此,您可以使用和访问两者中的资源

答案 2 :(得分:0)

根据您对说明的澄清,您希望在PHP脚本的两个连续执行之间共享数据。这不是将变量放在ocde中的问题。您希望代码运行一次,计算一些值,然后在再次运行代码时使该值可用。

有两种方法可以做到这一点:

  • 将值放入网页上的隐藏输入字段
  • 将值放入用户会话中(这意味着它由PHP运行时“存储在某处”,并且可用于具有相同会话ID的所有后续请求)