2012-11-05 197 views
-4

可能重複:
php - insert a variable in an echo string傳遞變量

我有一個鏈接被點擊時,它調用了一個頁面,並應傳遞兩個變量下的頁面,第一是Manu,第二個是fuel_type。

問題是我似乎無法獲得識別變量的代碼,而是傳遞美元符號和變量名稱而不是值。

代碼如下,我試過寫這幾種不同的方式,但我只是用盡想法。

.'<a href=\act/manufacturer.php?manufacturer=$manu&fuel_type=$fuel_type>'.$manu.'</a>'. 
+4

您忘了閱讀PHP文檔。PHP手冊非常清楚地解釋瞭如何在字符串內插入變量。在這種情況下,'''和'''之間的差異是關鍵。請仔細閱讀手冊... –

回答

2

你必須插入VAR的「

這樣外:

.'<a href=\act/manufacturer.php?manufacturer='.$manu.'&fuel_type='.$fuel_type.'>'.$manu.'</a>'. 
+0

謝謝大家,非常感謝 –

2

單引號不容許的變量分析,雙引號做。所以,你會更好做這樣的事情:

"<a href=\act/manufacturer.php?manufacturer=$manu&fuel_type=$fuel_type>$manu</a>"; 

- 或你的情況 -

'<a href=\act/manufacturer.php?manufacturer='.$manu.'&fuel_type='.$fuel_type.'>'.$manu.'</a>' 
+0

這是我和Daedalus的總和 – gabrielem

+0

@gabrielem是啊。偉大的頭腦... – nickhar

-1

您可以環繞大括號的變量逃脫變量表達式:

'<a href=\act/manufacturer.php?manufacturer={$manu}&fuel_type={$fuel_type}>'.$manu.'</a>'. 
+3

這然而_will not_工作。 – Daedalus

4

首先,確保變量包含你想要的東西(來自超全局GET變量):

$manu = $_GET['manu']; 
$fuel_type = $_GET['fuel_type']; 

然後,你有兩個選擇:

  1. 使用雙引號"而不是單引號,引號內的變量將擴展

    "My dog is named $dog_name, and is $dog_age years old"; 
    
  2. 串聯單引號與變量裏面的字符串:

    'My dog is named ' . $dog_name . ', and is ' . $dog_age . ' years old.'; 
    

但絕對可以肯定的是,在使用或顯示給瀏覽器之前,您需要清理變量。至少,您需要刪除任何HTML/JS代碼,然後進行一些檢查以確保結果具有您期望的類型和長度。在討論如何做到這一點時,有很多問題,快速搜索[php]清理GET變量將會打開它們。