表格和链接使代码混乱


tables and links messing the code up

我有一个PHP和链接的问题,我的意思是,我试图使用<a href链接门票的id,然后显示给用户,但问题是,我得到的链接是像

http://localhost/ucp/viewticket.php?ticketid = 8% 3基线测试% 3 c/a % 3 e % 3 c/td % 3 e % 3 ctd % 3 eupute % 20我% 20 informacije % 3 c/td % 3 e % 3 ctd % 3 e2016-08-26 % 2000:06:59 % 3 c/td % 3 e % 3 c/tr % 3 e % 3 ctr % 3 e % 3 ctd % e9 % 3 c/td % 3 e % 3 ctd % 3 esale_lesa % 3 c/td % 3 e % 3 ctd % 3 e % 3 ca % 20 href =

应该是

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();
}

你在href链接的末尾缺少双引号,所以它也包括了所有的HTML链接。我通过在"a"标签的末尾添加'"来修复它。

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

当你改变你的标记时,一切都应该很好:

    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

这样你就会发现你漏掉了一个转义双引号