2016-01-14 57 views
0

請幫我解決這個問題。PHP:PHP變量在html鏈接(<a>)

<a href="specificmonthlyattreport.php?instructor_id=$inst_id&description=$description"><?php echo $userRow2['description']; ?></a> 

看來,PHP變量與HTML鏈接:(

,所以我想知道什麼是正確的方法不兼容。

TIA ...

+0

@Steve嗨先生謝謝你的迴應我修改了你的代碼,用這個=>感謝你的想法:) – CallMeJeo

+0

呃,不,php變量不是不兼容的。你只是不寫PHP。 '$ description'只是純文本,因爲它在''分隔符中是** NOT **。 –

+0

@MarcB先生,謝謝你,現在我知道 – CallMeJeo

回答

3

呼應變量有如下幾種:

<a href="specificmonthlyattreport.php?instructor_id=<?php echo $inst_id; ?>&description=<?php echo $description; ?>"><?php echo $userRow2['description']; ?></a> 
+0

接受:)謝謝先生的代碼 – CallMeJeo

0

你應該用這個

<a href="specificmonthlyattreport.php?instructor_id=<?php echo $inst_id;?>&description=<?php echo $description;?>"><?php echo $userRow2['description']; ?></a> 

<a href="specificmonthlyattreport.php?instructor_id=<?=$inst_id?>&description=<?=$description?>"><?=$userRow2['description']?></a> 
2

請使用對這類事情的模板引擎...的

用途之一:

這將照亮你的一天,除去複雜了你的html文件的

+0

他們很好。但是PHP已經能夠模板化,並且它們不是web開發者的基礎。 –

2

您也可以將您的所有GET PARAMS關聯數組,並使用:

http_build_query($params) 

這樣:

<a href="yourscript.php/<?php echo http_build_query($params); ?>"></a> 

或以自己的方式:

<a href="specificmonthlyattreport.php?instructor_id=<?php echo $inst_id ?>&description=<?php echo $description ?>"><?php echo $userRow2['description']; ?></a> 

您也可以建立HTML/PHP搭配與定界符: http://www.hackingwithphp.com/2/6/3/heredoc

2

似乎PHP變量與HTML鏈接不兼容

好,PHP運行在服務器端。 HTML是客戶端。所以客戶端代碼無法解釋PHP變量。

您需要將服務器端代碼放在<?php ?>標記中,以便在服務器上執行(就像您在別處已經做過的那樣)。否則,服務器會將其視爲任何其他HTML並將其返回給瀏覽器。類似這樣的:

<a href="specificmonthlyattreport.php?instructor_id=<?php echo $inst_id; ?>&description=<?php echo $description; ?>"><?php echo $userRow2['description']; ?></a> 

正如你所看到的那樣,這會有點混亂。但你可以把整個事情在一個echo聲明:

echo "<a href=\"specificmonthlyattreport.php?instructor_id=$inst_id&description=$description\">$userRow2[description]</a>"; 

注意雙引號如何需要一個轉義,但因爲整個事情是一個雙引號字符串包含在其中的變量將擴大到他們的價值。

無論哪種方式都有可讀性優點和缺點,所以它取決於你想要如何呈現它。