将变量粘贴到$ _GET

时间:2012-03-25 16:47:56

标签: php get request base64

我有两页。首先我们在其url中打开$ _POST变量,第二个在iframe中首先打开。两个php文件,第二个用于html操作。

$ _POST中的变量通过$ _GET传递给iframe:

echo '<iframe src="index.php&first=' . $first . '&second=' . $second . '&third=' . $third . '&iframe=true"></iframe>';

$first, $second, $third变量中包含一些html和新行(\ n)的文本。

问题是,当数据通过$_GET传递给iframe时,变量中的所有新行都会消失。

尝试传递base64_encode($first)之类的变量,然后按base64_decode()对其进行解码。它工作有问题,文本的某些部分无法正确解码,可能是因为iframe网址中的符号不​​正确。

还尝试将所有变量抛出到单个数组中,对其进行序列化,然后通过base64进行编码 - 这样服务器就会产生错误500(它也为404提供了相同的错误)。

请不要问我为什么要这样的页面结构。它不应该改变。

解决方法是什么?

4 个答案:

答案 0 :(得分:3)

urlencode后的base64_encode呢?

答案 1 :(得分:0)

根据您的情况,您还可以使用Javascript访问父框架。

您可以将数据存储在第一个窗口的javascript数组中,然后iframe子窗口可以通过父级调用它。*

Some more details from other questions

答案 2 :(得分:-1)

您可以将$first,$second,$third的内容写入first.txt,second.txt,third.txt,然后打开iframe脚本中的文本文件

答案 3 :(得分:-1)

您最初的做法是错误的。

POST变量不应该去任何地方。 POST请求服务器必须命令浏览器重新加载页面。 整页,不仅仅是iframe。

重新加载后,您可以向用户显示任何iframe 要在那里传递数据,会话将是理想的解决方案 但是,某些解决方案取决于所有混乱的数据性质和总体目的。