POST后,选择框无法获取带有空格的选项值

时间:2015-03-27 05:31:29

标签: php html

我有一个从数据库中取值的选择框。数据库中的选项是:

  1. 纽约市

  2. 济州岛

  3. 选择框显示数据库中的确切值。 我有一个提交按钮,将值发布到另一个页面。 我的问题是,当我回显所选的选项值时,未显示空格后的单词,即它只显示' Newyork'。 这是我的代码:

       <select name="users_desc" id="hometexts">
       <option selected='selected' value='' disabled='disabled'  >Select Name</option>";
        <?php 
        $result = mysql_query("SELECT public_desc,public_id FROM table");
                         while ($row = mysql_fetch_array($result)) 
                        { 
                              if ($_GET['users_desc']==$row["public_id"]) 
                            {
                               echo '<option selected="selected" value='.$row["public_desc"].'>'.$row["public_desc"].'</option>';
                            } 
                            else 
                            {
                               echo '<option value='.$row["public_desc"].'>'.$row["public_desc"].'</option>';
                            }
    
                        }
                        ?>
                        </select>
    

    将选项值发布到另一页的代码。

    if(isset($_POST['login_btn']))
    {
        $desc=$_POST['users_desc'];
    
        echo $desc;
        header("location:publicUserReports.php");
    
    }
    

    我只想获得完整的价值。

2 个答案:

答案 0 :(得分:0)

您需要引用值

value="'.$row["public_desc"].'"

所以

echo '<option selected="selected" value="'.$row["public_desc"].'">'.$row["public_desc"].'</option>';

当您查看HTML时,必须显示

<option value="Jeju island">

而不是

<option value=Jeju island>

答案 1 :(得分:0)

只是为了获取更多信息,“和”之间存在很大差异 如果你打算输出没有变量连接的字符串/文本,你应该总是使用单引号(')。

但是如果你有一些变量要连接,你应该使用(可选)双引号(“)。我个人更喜欢使用它,因为它更具可读性。

示例:

如果我要输出,让我们说:我喜欢编码。然后我用:

echo 'I love Coding';

但是当我有一些变量要连接时,我使用:

echo "I $action Coding";

现在根据您的问题:

echo "<option selected='selected' value='$row[public_desc]'>$row[public_desc]</option>";

对我而言,这更具可读性,更不容易出错:)