1

我有这个代码:

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
4

3 回答 3

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

?>

这将导致:

你好安东尼!你好吗?

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

于 2013-09-15T17:54:27.097 回答
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>'; 
}
于 2013-09-15T17:56:02.447 回答
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;” (没有那个空格,不知道如何在这里格式化)而不是链接中的“&”。

于 2013-09-15T17:54:15.473 回答