2012-05-23 97 views
0

父窗口的GET變量我有URL中的父窗口:http://example.com?val=test問題與iframe中

在該頁面中的iframe,我需要得到val追加到一個鏈接。

目前,我在iframe這樣做:

<?php 
$val = $_GET['val']; 
?> 
<a href ="http://example.com/link.html?val=<?php echo $val ?>">Link</a> 

輸出包含額外/'這樣的:
http://example.com/link.html?val=\'test\'

有沒有辦法做正確嗎?

+0

它不會發生在我身上......也許嘗試'的stripslashes($ VAL)':http://php.net/manual/en/function.stripslashes.php – Stefan

回答

2

試試這個:

$val = trim(stripslashes($_GET['val']),"'"); 
+0

謝謝,擺脫斜槓,但'''仍然在價值的開始和結束。請注意,我認爲你忘了給他人閱讀的結束語'')。 – user1373779

+0

謝謝,對不起有關失蹤)。您可以嘗試在修剪功能中打包並修剪結束引號。我編輯了我的答案來證明這一點。 –

+0

這個技巧!謝謝:) – user1373779

1

遇到PHP的魔術引號的痛苦。您應該關閉它們(首選)或刪除斜槓。詳情請參閱http://php.net/manual/en/security.magicquotes.php

要完全禁用它們,把這個在你的php.ini文件

; Magic quotes for incoming GET/POST/Cookie data. 
magic_quotes_gpc = Off 
magic_quotes_runtime = Off 
magic_quotes_sybase = Off 

從$刪除_GET變量,用stripslashes。

<?php 
// from http://www.php.net/manual/en/security.magicquotes.disabling.php#91585 
if (get_magic_quotes_gpc()) { 
    function stripslashes_gpc(&$value) 
    { 
     $value = stripslashes($value); 
    } 
    array_walk_recursive($_GET, 'stripslashes_gpc'); 
    array_walk_recursive($_POST, 'stripslashes_gpc'); 
    array_walk_recursive($_COOKIE, 'stripslashes_gpc'); 
    array_walk_recursive($_REQUEST, 'stripslashes_gpc'); 
} 
?> 
+0

謝謝!像下面的答案一樣,它擺脫了斜槓。出於某種原因,Get仍顯示''',如:'link.html?val ='test'' – user1373779

+0

原始URL中的引號是什麼? 'http://example.com?val = test'不應該有值的引號。你確定URL沒有引號'http://example.com?val ='test''? – mcrumley

+0

它實際上'val = <?php echo $ val?>'所以不知道爲什麼會發生這種情況。必須是另一個包含JavaScript的東西造成的。 – user1373779