Как я могу отправить два значения из одного и того же параметра выбора на URL-адрес в php? - PullRequest
0 голосов
/ 14 июля 2020

У меня есть этот код

                   <form method="post" action="">
                    <select name="gender">
                      <option value="">Select a person:</option>
                      <option value="Male" id="boy">Male</option>
                      <option value="Female" id="girl">Female</option>
                    </select>
                    <input type="submit" name="subgen" value="Find">
                   </form>

, и я хочу попробовать отправить два значения через URL-адрес. С этим php кодом

                  <?php
                    if (isset($_POST['subgen'])) {
                      $gender =$_POST['gender'];
                      //i want to get the id to go along too
                      ?><meta http-equiv="refresh" content="0;url=genderreport.php?gender=<?php echo ($gender) && genderid=<?php echo ($genderid); ?>"/><?php                    
                    }
                  ?>

, и я хочу получить его через это на другой странице:

  if(isset(($_GET['gender'])&&($_GET['genderid'])){
    $gender= $_GET['gender'];
    $genderid= $_GET['genderid'];
  }

Ответы [ 2 ]

2 голосов
/ 14 июля 2020

Вам нужно закончить первый <?php echo $gender;, прежде чем вы сможете сделать следующий <?php echo $genderid;. Между ними нет необходимости в &&.

?><meta http-equiv="refresh" content="0;url=genderreport.php?gender=<?php echo $gender; ?>&genderid=<?php echo $genderid; ?>"/><?php                    
1 голос
/ 14 июля 2020

Не совсем уверен, чего вы пытаетесь достичь (почему вы перенаправляете вместо прямой отправки во второй файл), но все же:

 <select name="gender">
     <option value="">Select a person:</option>
     <option value="Male:boy">Male</option>
     <option value="Female:girl">Female</option>
 </select>

На стороне сервера разделите значение на ::

<?php
if (isset($_POST['subgen'])) {
    $parts = explode(':',  $_POST['gender']);?>
    <meta http-equiv="refresh" content="0;url=genderreport.php?gender=<?php echo $parts[0]?>&genderid=<?php echo $parts[1]?>"/>
<?php
}

В другой странице:

if (isset($_GET['gender']) && isset($_GET['genderid'])) {
    $gender= $_GET['gender'];
    $genderid= $_GET['genderid'];
}

Обратите внимание, пожалуйста, используйте пробелы в своем коде, это значительно увеличивает читаемость.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...