繁体   English   中英

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

[英]Select box fails to fetch option value with white spaces after POST

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

  1. 纽约市

  2. 济州岛

选择框将显示数据库中的确切值。 我有一个提交按钮,将值发布到另一个页面。 我的问题是,当我回显选定的选项值时,没有显示空格后的单词,即仅显示“ 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");

}

我只想获得完整的价值。

您需要引用值

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>

只是为了获得更多信息,如果要输出没有变量来连接的字符串/文本,则“和”之间会有很大的区别,您应该始终使用单引号(')。

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

例子:

如果我只是要输出,可以说:我喜欢编码。 然后我用:

echo 'I love Coding';

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

echo "I $action Coding";

现在根据您的问题:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM