Метод POST не работает на той же странице PHP

#php #post

#php #Публикация

Вопрос:

Я знаю, что это заданный вопрос, однако я попробовал почти все шаги, но это не работает. Я знаю, что где-то есть глупая ошибка, нужен экспертный взгляд. Мой код:

        // if(isset($_POST["country"])) 
       if($_SERVER['REQUEST_METHOD'] == "POST")
        {
            $country = $_POST["country"];

             echo '<script language="javascript">';
                echo "alert(' Officer Already Alloted..!!!');";///Tried getting alert once POST, but no message
                echo '</script>';
        }
            //? $country = $_POST["country"] : $company=1;

    ?>
        <form action="#" method="POST">
        <select class="country" name="wcpbc-manual-country" id="country" >
         <?
            $list=mysqli_query($con,"select * from country where status!='False'");
        while($row_list=mysqli_fetch_assoc($list)){
            $display=" ".$row_list['phonecode']."-".$row_list['name'];
            $flag=$row_list['isosmall'];

            ?>
 <!--<select class="country" name="wcpbc-manual-country" id="country">-->

    <option value="<?$row_list['phonecode']?>" data-iconurl="https://ipdata.co/flags/<?php echo $flag; ?>.png" <?php if($country==$row_list['name']){echo "selected";} ?>><? echo $display;?></option>
    <!--<option value="IN" data-iconurl="https://ipdata.co/flags/in.png">IN some text</option>-->
    <?
        }
        ?>
    </select>
    </form>

    <script type="text/javascript">
$("#country").selectBoxIt();
</script>
  

На самом деле я пытаюсь получить выбранное значение в выпадающем списке, кажется, POST не работает для присвоения значения $country переменной
Я пытался:
1. if($_SERVER['REQUEST_METHOD'] == "POST")
2. используется form action="<?php echo $_SERVER['PHP_SELF']; ?>"

Пожалуйста, помогите.Спасибо

Комментарии:

1. select Его имя wcpbc-manual-country . И # в action атрибуте тега form?

2. как насчет отправки формы?

3. # в действии это означает, что он отправит сообщение самому себе @vivek_23

4. @JayBlanchard этого не знал, и да, он в основном добавляет его к URL после отправки, но это своего рода избыточно.

Ответ №1:

<option /> Значения пусты:

 <?$row_list['phonecode']?>
  

Должно быть

 <?php echo $row_list['phonecode']; ?>
  

или, по крайней мере,

 <?= $row_list['phonecode']; ?>
  

Также, как упоминалось Always Sunny, вы не заметно отправляете форму. Мы не знаем, работает ли Javascript, но должно быть какое-то действие отправки. Я думаю, вы проверили это в консоли разработчика браузеров.

Комментарии:

1. Большое спасибо, я знал, что произошла какая-то глупая ошибка. просто добавил = лайк <?= $row_list['phonecode']; ?> , и это сработало

Ответ №2:

вы должны использовать

  <select class="country" name="country" id="country" >

     <option value="<?php echo $row_list['phonecode']?>" data-iconurl="https://ipdata.co/flags/<?php echo $flag; ?>.png" <?php if($country==$row_list['name']){echo "selected";} ?>><? echo $display;?></option>
  

Комментарии:

1. Какой OP должен «использовать» ваш код? В хорошем ответе всегда будет объяснение того, что было сделано и почему это было сделано таким образом, не только для OP, но и для будущих посетителей SO.

2. @JayBlanchard я просто указывал, где это нужно исправить. извините, если это непонятно