将PHP变量放在URL中

时间:2010-05-10 12:33:19

标签: php

我正在尝试将变量(在这种情况下是用户的IP变量)传递到URL中,因此当它显示在Web上时,它是一个自动链接。下面是我的代码,我收到了一个错误。求PHP大师帮助n00b。

$user_tracking_vars = "<br /><br /><strong>Browser and Operating System:</strong> ".$browser."<br /><br /><strong>IP:</strong> <a href=""http://urbangiraffe.com/map/?ip=".$ip."&from=drainhole"">".$ip."</a><br /><br /><strong>Page Visited Before Contact Form:</strong> ".$referred."<br />";

2 个答案:

答案 0 :(得分:3)

您似乎错误地使用类似Basic(href=""..."")语法转义引号。 PHP中的转义字符是反斜杠(href=\"...\")。

$user_tracking_vars = "<br /><br /><strong>Browser and Operating System:</strong> ".$browser."<br /><br /><strong>IP:</strong> <a href=\"http://urbangiraffe.com/map/?ip=".$ip."&from=drainhole"\>".$ip."</a><br /><br /><strong>Page Visited Before Contact Form:</strong> ".$referred."<br />";

您还可以替换用于实现相同效果的引号(href='...'):

$user_tracking_vars = "<br /><br /><strong>Browser and Operating System:</strong> ".$browser."<br /><br /><strong>IP:</strong> <a href='http://urbangiraffe.com/map/?ip=".$ip."&from=drainhole'>".$ip."</a><br /><br /><strong>Page Visited Before Contact Form:</strong> ".$referred."<br />";

答案 1 :(得分:1)

如果你不想在转义长字符串html时遇到麻烦,你应该尝试这样做:

$ip = "...";
$browser = "...";
$referred = "...";

$user_tracking_vars =<<<text
    <br/>
    <br/>
    <strong>Browser and Operating System:</strong>
    $browser
    <br/><br/>
    <strong>IP:</strong>
    <a href="http://urbangiraffe.com/map/?ip={$ip}&from=drainhole">$ip</a>
    <br/><br/>
    <strong>Page Visited Before Contact Form:</strong>
    $referred
    <br/>
text;
// remember the text; from line above must start @ char 0...

或者这个:

<?php 
$ip = "...";
$browser = "...";
$referred = "...";
?>

<br/>
<br/>
<strong>Browser and Operating System:</strong>
<?php echo $browser; ?>
<br/><br/>
<strong>IP:</strong>
<a href="http://urbangiraffe.com/map/?ip=<?php echo $ip;?>&from=drainhole"><?php echo $ip;?></a>
<br/><br/>

<strong>Page Visited Before Contact Form:</strong>
<?php echo $referred; ?>
<br/>

以上任何一项都可以节省您逃避报价的宝贵时间。 由于我不知道你在哪个上下文中使用$ user_tracking_vars,所以不需要讨论逻辑和输出分开的优点。 : - )