2016-01-14 56 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>"; 

注意双引号如何需要一个转义,但因为整个事情是一个双引号字符串包含在其中的变量将扩大到他们的价值。

无论哪种方式都有可读性优点和缺点,所以它取决于你想要如何呈现它。