$ _POST中的空格

时间:2014-05-26 16:32:20

标签: php post

我有一个由PHP填充的HTML下拉列表,如下所示:

<form name="selectOccupation" method="post" action="specific_occupation.php">
                        <div align="centre">
                        <select name="occupation_dropdown" id="occupation_dropdown">
                        <?php
                        include "connection.php";

                        $sql = mysql_query("SELECT DISTINCT Occupation from patient_info");
                        while ($row = mysql_fetch_array($sql))  {
                echo "<option value=".$row['Occupation'].">".$row['Occupation']."</option>";
                        }
                        ?>
                        </select>
                        </div>
                        <br>
                        <br>
                                <input type="submit" name="submit" value="Proceed"/>
                    </form>

在specific_occupation.php文件中,我有以下代码:

<?php

    include "connection.php";

    $selectedoccupation = $_POST['occupation_dropdown'];
    echo $selectedoccupation;   

    $myquery = "SELECT patient_info.Name, test_info.DateOfTest FROM                 `patient_info`,`test_info` WHERE patient_info.PatientID = test_info.PatientID AND               patient_info.Occupation = '$selectedoccupation' ";

    $query = mysql_query($myquery);

        if ( ! $query ) {
            echo mysql_error();
            die;
        }

        $data = array();

        for ($x = 0; $x < mysql_num_rows($query); $x++) {
            $data[] = mysql_fetch_assoc($query);
        }

     $tempdata = json_encode($data);
?>

如果他们之间没有任何空白的职业,例如&#34; carpenter&#34;从下拉菜单中选择,但不适用于&#34;销售人员&#34;。如何将$ _POST用于具有空格的职业?

提前致谢!!

2 个答案:

答案 0 :(得分:4)

您构建的HTML错误。你得到它:

 <option value=Sales Person>
               ^^^^^---what will get sent as the value
                     ^^^^^^---some wonky unknown/non-standard attribute

这是不正确的。 HTML现在要求引用所有属性:

 <option value="Sales Person">

即使不需要引号,您仍然必须使用引号来处理这样的“间隔”数据。

答案 1 :(得分:-2)

PHP post用空格替换某些字符,例如-。 您可以在PHP脚本中尝试urlencode($var)