PHP下拉框始终处于设置状态

PHP下拉框始终处于设置状态,php,isset,Php,Isset,嗨,我有两个下拉框,用于过滤mysql表中的数据,问题是当我使用isset确定其中是否有任何值被选中时,这些框总是显示为设置好的 这是投递箱的代码 <?php if (isset($_POST['referrer']) && $_POST['referrer'] != "referrer") { $select = $_POST['referrer'];

嗨,我有两个下拉框,用于过滤mysql表中的数据,问题是当我使用isset确定其中是否有任何值被选中时,这些框总是显示为设置好的

这是投递箱的代码

 <?php 
                       if (isset($_POST['referrer']) && $_POST['referrer'] != "referrer") {
                       $select = $_POST['referrer'];
                         }
                       ?>
                                    <select name="referrer">
                                    <option value="">Referrer</option>

                                      <?php
                       // Get records from database (table "name_list").
                       $list=mysql_query("select DISTINCT referrer from masterip_details WHERE country_code='GB' AND TRIM(IFNULL(referrer,'')) <> '' order by referrer DESC");
                       // Show records by while loop.
                       while($row_list=mysql_fetch_assoc($list)){
                       $referrer = $_POST['referrer']; ?>
                                      <option value="<?php echo $row_list['referrer']; ?>" <?php if($row_list['referrer']==$select){ echo "selected"; } ?>><?php echo $row_list['referrer']; ?></option>        
                                      <?php     
                       }
                       ?>
                                    </select>



 <?php 
                       if (isset($_POST['returning']) && $_POST['returning'] != "returning") {
                       $select2 = $_POST['returning'];
                         }
                       ?>
                                    <select name="returning">
                                    <option value="">Referrer</option>
                                      <?php
                       // Get records from database (table "name_list").
                       $list2=mysql_query("select * from repeater_drop_down order by id DESC");
                       // Show records by while loop.
                       while($row_list2=mysql_fetch_assoc($list2)){
                       $returning = $_POST['returning']; ?>
                                      <option value="<?php echo $row_list2['value']; ?>" <?php if($row_list2['value']==$select2){ echo "selected"; } ?>><?php echo $row_list2['title']; ?></option>     
                                      <?php     
                       }
                       ?>
                                    </select>
我没有包括查询,因为它们工作正常,但无论我是否选择两个下拉框,代码都会自动转到两个变量的第一个isset,即使只有一个框选择了选项


如果您有任何建议,我们将不胜感激。

您应该检查表单中提交的值,而不仅仅是是否设置了select POST值


如果提交时未更改选择,则引用者的值将为
'
(空字符串)。检查该值。

您应该检查随表单提交的值,而不仅仅是检查是否设置了select POST值


如果提交时未更改选择,则引用者的值将为
'
(空字符串)。相反,请检查该选项。

他们都始终选择了一个选项。所以第一个条件总是正确的。该选项的值可能是一个空字符串,但它仍然是一个值。您是否尝试将
isset
更改为
empty
以查看是否获得更好的结果?它们都始终选择了一个选项。所以第一个条件总是正确的。该选项的值可能是一个空字符串,但它仍然是一个值。您是否尝试将
isset
更改为
empty
,以查看是否获得更好的结果?
$returning = $_POST['returning'];
$referrer = $_POST['referrer'];

 if (isset($returning, $referrer)){

 //code //

  elseif (isset($returning)){

   ///code //

  elseif (isset($referrer)){

  //code //

  else {

 //code   

        }