2012-03-25 108 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