php - 来自包含空格的 URL 的 $_GET 值

标签 php mysql

我有一个表格,其中有一个可点击的行和一个文本框,文本框的值是在该行上单击的名称,很简单。这是我的代码示例。 表格:

<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,我的 URL 看起来像 ?Name_categorie=INTERNET%20EXPLORER。文本框只显示 INTERNET,我无法回显 INTERNET EXPLORER

我知道我的问题可能看起来很简单,但我不知道如何回应全名。我需要得到它,因为我有 EXCEL 2003EXCEL 2010 但它只显示 EXCEL。对于 EXCEL 2010 我的 URL EXCEL%202010

最佳答案

看看您正在生成的 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">

关于php - 来自包含空格的 URL 的 $_GET 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30460957/

相关文章:

php - 给申请人的提醒邮件

MySQL:如何选择表的某些行并执行 SUBSTRING_INDEX

php - 插入的值一直是0

mysql - 在 mysql 中进行分组时只选择一行

mysql - group_concat 中的重复结果

php - 在 PHP/MYSQL 服务器上运行 ASP & VB.NET & Access 网站

php - CodeIgniter 表单验证不工作

php - SQL 获取帖子的最新评论日期 - 论坛

php - Javascript 中的 JSON 对象 "undefined"错误

mysql - ErrorException (E_ERROR) undefined variable : buildingSections