表和链接搞乱了代码

时间:2016-08-26 12:22:23

标签: php html

我有PHP和链接的问题,我的意思是,我正在尝试使用<a href来链接票证的ID然后将其显示给用户,但问题是我获得的链接是像

http://localhost/ucp/viewticket.php?ticketid=8%3Etest%3C/a%3E%3C/td%3E%3Ctd%3EUpute%20i%20informacije%3C/td%3E%3Ctd%3E2016-08-26%2000:06:59%3C/td%3E%3C/tr%3E%3Ctr%3E%3Ctd%3E9%3C/td%3E%3Ctd%3ESale_Lesa%3C/td%3E%3Ctd%3E%3Ca%20href=

它应该只是像

http://localhost/ucp/viewticket.php?ticketid=8

这是代码:

if ($result = $con->query($query)) 
{
    echo '
    <table id="tfhover" class="tftable" border="1">
       <th>ID Tiketa</th>
        <th>Autor</th>
        <th>Naslov</th>
        <th>Kategorija</th>
        <th>Datum</th>
    ';
    while ($row = $result->fetch_assoc())
    {
        echo "<tr>";
        echo "<td>" . $row['ID'] . "</td>";
        echo "<td>" . $row['Autor'] . "</td>";
        echo "<td><a href=\"viewticket.php?ticketid=". $row['ID'] .">". $row['Naslov'] ."</a></td>";
        echo "<td>" . $row['Kategorija'] . "</td>";
        echo "<td>" . $row['Datum'] . "</td>";
        echo "</tr>";
    }
    $result->free();
}

2 个答案:

答案 0 :(得分:5)

您在href链接的末尾缺少双引号,因此它包括随后作为链接的所有HTML。我通过添加\&#34;来修复它。在&#34; a&#34;结束之前标签

echo "<td><a href=\"viewticket.php?ticketid=". $row['ID'] ."\">". $row['Naslov'] ."</a></td>";

答案 1 :(得分:0)

当你改变你的标记时,一切都应该没问题:

    while ($row = $result->fetch_assoc())
{
    echo '<tr>';
    echo '<td>' . $row['ID'] . '</td>';
    echo '<td>' . $row['Autor'] . '</td>';
    echo '<td><a href="viewticket.php?ticketid='. $row['ID'] .'">'. $row['Naslov'] .'</a></td>';
    echo '<td>' . $row['Kategorija'] . '</td>';
    echo '<td>' . $row['Datum'] . '</td>';
    echo '</tr>';
}

原因是,单引号和双引号之间存在很大差异。

PHP不会解析单引号,所以

$variable = 'hello';
echo '$variable' 

仍会返回:$ variable

虽然

echo "$variable"

将字符串解析为:Hello

这样你会看到,你错过了双重报价。