我有一个带有可点击行和一个文本框的表格,其值是点击该行的名称,很简单。这是我的代码示例。 表:
<table border="2">
<tbody>
<tr>
<td>Categorie number</td>
<td>Categorie name</td>
</tr>
<?php
$SQLCategorie = mysqli_query($db,'SELECT * FROM categorie ORDER BY Name_categorie');
while($row= mysqli_fetch_array($SQLCategorie))
{
echo '<td>' .$row[0]. '</td>';
echo "<td><a href='GererCategorie.php?Name_categorie=".$row[1]."' >".$row[1]."</a></td>";
echo "</tr>";
}
?>
</tbody>
</table>
文本框:
<input type="text" name="Delete_Categorie"
<?php
if (isset($_GET['Name_categorie']))
{
echo "value=".$_GET['Name_categorie'];
}
?>
>
一切正常,但我有一个奇怪的问题。例如,我的数据库中有INTERNET EXPLORER
,我的网址看起来像?Name_categorie=INTERNET%20EXPLORER
。文本框仅显示INTERNET
,我无法回显INTERNET EXPLORER
。
我知道我的问题似乎很容易,但我不知道如何回应全名。我需要得到它,因为我有EXCEL 2003
和EXCEL 2010
,但它只显示了EXCEL。对于EXCEL 2010
我的网址EXCEL%202010
答案 0 :(得分:4)
看看你正在生成的HTML,你的输出看起来像这样:
<input type="text" name="Delete_Categorie" value=INTERNET EXPLORER>
因此浏览器会将此值读为INTERNET
,并且EXPLORER将被解释为属性名称。
您需要在文字周围添加引号。
echo "value=\"".$_GET['Name_categorie']."\"";
这将输出
<input type="text" name="Delete_Categorie" value="INTERNET EXPLORER">
答案 1 :(得分:0)
您需要urlencode()
echo "<td><a href='GererCategorie.php?Name_categorie=".urlencode($row[1])."' >".$row[1]."</a></td>";
然后urldecode()
echo "value=".urldecode($_GET['Name_categorie']);
答案 2 :(得分:0)