链接未发送到正确的页面

时间:2013-09-15 17:49:47

标签: php html hyperlink

我有这段代码:

if ($topic['user']==$_SESSION['display'])
{
    echo '<div class="bottomright"><a href="?id=<?php echo $topic_id; ?>&part=5"><img src="../assets/icons/Comments-edit.png" /></a><a href="?id=<?php echo $topic_id; ?>&part=6"><img src="../assets/icons/Lock.png" /></a><a href="?id=<?php echo $topic_id; ?>&part=7"><img src="../assets/icons/Trash.png" /></a></div>';
}

当我在图像上方移动时,链接显示为:

?id=%3C?php%20echo%20$topic_id;%20?%3E&part=3

而不是:

?id=3&part=3

为什么这不起作用?

我试过了:

if ($topic['user']==$_SESSION['display'])
{
    echo '<div class="bottomright"><a href="?id=$topic_id&part=5"><img src="../assets/icons/Comments-edit.png" /></a><a href="?id=$topic_id&part=6"><img src="../assets/icons/Lock.png" /></a><a href="?id=$topic_id&part=7"><img src="../assets/icons/Trash.png" /></a></div>';
}

现在我明白了:

?id=$topic_id&part=3

3 个答案:

答案 0 :(得分:2)

您的代码已经在PHP代码中,您不必在链接的参数中添加额外的<?php

echo '<div class="bottomright"><a href="'. $topic_id .'&part=5"...

只需终止字符串并将相关变量连接到字符串中。

这是一个非常简单的例子:

<?php

$user_name = "Anthony";

echo "Hello ". $user_name ."! How are you?";
//----------^ terminating the string

?>

这将导致:

  

你好安东尼!你好吗?

Here是处理字符串连接的相关文档。

答案 1 :(得分:1)

您正在回显一个php语句,它不会被解释,而是按原样显示。相反,你应该连接字符串,如下所示:

if ($topic['user']==$_SESSION['display'])
{
    echo '<div class="bottomright"><a href="?id='
        . $topic_id
        . '&part=5"><img src="../assets/icons/Comments-edit.png" /></a><a href="?id='
        . $topic_id
        . '&part=6"><img src="../assets/icons/Lock.png" /></a><a href="?id='
        . $topic_id 
        . '&part=7"><img src="../assets/icons/Trash.png" /></a></div>'; 
}

答案 2 :(得分:0)

您不需要在PHP语句中“回显”。只需连接字符串(此处为id),如下所示:

if ($topic['user']==$_SESSION['display']){ echo '<div class="bottomright"><a href="?id='.$topic_id.'&part=5"><img src="../assets/icons/Comments-edit.png" /></a><a href="?id='.$topic_id.'&part=6"><img src="../assets/icons/Lock.png" /></a><a href="?id='.$topic_id.'&part=7"><img src="../assets/icons/Trash.png" /></a></div>'; }

另外,你应该使用“&amp; amp;” (没有那个空格,不知道如何格式化这里)而不是“&amp;”在您的链接中。