php
2012-07-16 98 views 0 likes 
0

您好我想通過URL從一個文件傳遞到另一個文件的值。如何通過一個變量通過URL在PHP

我做的方法是:<a href='fund_view.php?idfund="<? echo $row['idfund']; ?>"'>

畢竟我使用

$aidi = $_GET['idfund']; 

echo 'ID= '.$aidi;` 

在其他文件中的正確的價值得到但結果我得到的是這種格式ID= \"10\"

的網址後,我通過ID看起來像

http://example.com/fund_view.php?idfund="10" 

,我想要的結果只是ID="10"

+2

功能上從錨定'> – Waygood 2012-07-16 14:24:26

+1

如他所示,他需要引號。 – Peon 2012-07-16 14:26:21

+0

如果你要通過查詢字符串傳遞變量,使用'urlencode()'或類似的東西更安全。 – 2012-07-16 14:26:22

回答

2

變化

<a href='fund_view.php?idfund="<? echo $row['idfund']; ?>"'> 

<a href='fund_view.php?idfund=<? echo $row['idfund']; ?>'> 

也請記住,你的代碼是非常不安全的......至少投的參數使用前INT:

$aidi = (integer) $_GET['idfund']; 
+0

爲什麼downvote?) – 2012-07-16 14:28:09

+0

int-casting假定它確實是一個int。雖然提到安全性是好的,但做一條「你必須把它變成一個整數」的聲明是沒有用的。 – 2012-07-16 14:34:32

+0

一個字段/參數/列/不管名爲ID _should_是整數 – 2012-07-16 14:36:04

2

在php.ini中關閉magic_quotes,你應該去掉那些反斜槓。

0

早期版本的PHP(5.4以下版本)有一個非常直觀的反特性,稱爲"magic quotes",automati cally(並且默默地)轉義所有的GET/POST字符串,就好像它們將被用在MySQL查詢中一樣。

倒過來相對比較簡單,只是當你不知道這樣的特徵存在時頭痛。

解決方案1:關閉magic_quotes的與ini_set

有時候,你將無法使用的ini_set(限制性主機提供商),所以下面是我用過的最好的旁邊(便攜)解決方案:

NB:提供的get_magic_quotes_gpc功能頁

<?php 
    function stripslashes_deep(&$value) 
    { 
     $value = is_array($value) ? 
        array_map('stripslashes_deep', $value) : 
        stripslashes($value); 

     return $value; 
    } 

    if (get_magic_quotes_gpc()) 
    { 
     stripslashes_deep($_GET); 
     stripslashes_deep($_POST); 
    } 

?> 
相關問題