2012-03-25 105 views
0

我有两个页面。首先我们在其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,所有变量的新行消失。

Tryed传递变量像base64_encode($first),然后base64_decode()解码。它的工作原理错误,文本的某些部分不能正确解码,可能是因为iframe url中的坏符号。

另外tryed到所有变量扔进单个阵列,序列化,然后通过Base64编码 - 这样服务器对误差500(它也给出了404相同的错误)。

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

,这是什么解决办法吗?

+0

小心这样做。查询字符串具有长度限制,并且会自动截断太长的任何内容,并且这可能会在没有警告的情况下发生在客户端的AND/OR服务器端。 – 2012-03-25 17:28:57

回答

3

中的文本文件怎么样的base64_encodeurlencode

+0

你得到了我的尊重 – Jasper 2012-03-25 17:04:05

+0

@Steve一起做这件事很没有意义。 – 2012-03-25 17:05:52

+0

@您的常识我不在乎,它只是运作 – Jasper 2012-03-25 17:10:27

-1

你可以写的$first,$second,$third的内容first.txt,second.txt,third.txt,然后打开你的iframe的脚本

+1

他们每次都会改变,它不是正确的情况 – Jasper 2012-03-25 16:51:52

-1

你最初的做法是错误的。

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

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

0

根据你的情况,你也可以使用Javascript来访问父框架。

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

Some more detailsfrom other questions

+0

有没有办法访问iframe的内容 – Jasper 2012-03-25 17:12:45

+0

由于浏览器的安全政治,这是不可能的 – Jasper 2012-03-25 17:13:55

+0

史蒂夫,我不是建议访问子框架的内容。我建议访问孩子的父框架内容。尝试使用''从小孩试试'',你会发现它是一个[object Object]而不是未定义的。因此,不要通过$ _GET将变量传递给孩子,只需将变量存储在''然后在孩子iFrame中尝试'parent.myVars.whatever;' – 2012-03-26 18:34:04