在弹出窗口中导入PHP变量

时间:2018-01-17 19:28:50

标签: php

我有一个原始的php页面和一个用php编写的弹出窗口,我想知道如何将原始页面中的变量导入弹出窗口。一个可能的问题是原始页面中的变量本身没有定义,而是在与其连接的其他php页面中定义,并且它将根据用户的选择而改变。真诚期待建议,谢谢!

就像: 两个文件" business.php"和" school.php"在" business.php"中分享名为" info.php"的头文件。 $ theme =" business&#34 ;;并且在" school.php" $ theme =" school"。 在头文件中,我可以使用

if($theme=="business"){
  echo "<a href='#' onclick='popitup();'>Popup</a>";
}

在业务标题部分中有一个按钮。 弹出窗口的功能如下:

function popitup() {
  var newWindow = window.open('/../popitup.php', 'name');

  if (window.focus) {
      newwindow.focus()
  }
  return false;
}

我希望在&#34; popitup.php&#34;中使用$ theme变量,例如当用户点击&#34; Popup&#34;从商家页面链接,弹出页面可以显示与商业信息相关的选项列表。

1 个答案:

答案 0 :(得分:0)

我建议如下:

首先,开始一个会话,并为所有页面保留该会话。

调用main页面的页面听起来像是集中这些内容的最佳位置。我们称之为controller虽然根据您的设置可能会出错。但是,如果定义了您所谈论的变量,那么它可能足够接近。  让它呼叫你的popup,现在几乎持久。问题解决了。

您可能需要研究模型 - 视图 - 控制器(MVC)以及面向对象编程(OOP)概念。毫无疑问,这不是那个,但是一个有规划的好建筑可以让事情变得更容易。

TLDR:会话

这是一个link

这是一个user friendly link

编辑:如果您不想重构已有的内容,可以在网址末尾使用popup致电query string,在php端使用$_GET[]访问它们。 Here is a link为此。那就像是,page.php?option1=abcd&option2=efgh我认为这很混乱,有点过时,但它是有效的,并且工作正常。

另一个编辑:另一个选项是使用您存储在用户客户端的cookies。它并不是万无一失,因为人们可能没有它们,但它可能会完成你想要的。对于那些人Here is a link

第三次编辑:您可以将用户的选择存储在数据库中,并在弹出窗口中使用代码将其拉出来。