我有一个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
这样你就会发现你漏掉了一个转义双引号