Пустой $ _ GET после того, как параметр был успешно передан с использованием URL - PullRequest
0 голосов
/ 17 апреля 2019

Я передаю параметр request_id из request.php в offer.php, используя URL-адрес, но в то время как значение идентификатора request_id отображается в URL-адресе offer.php, $ GET ['request_id'] остается неопределенным.

Код в request.php, генерирующий URL:

if (!isset($_GET['category_id'])) {
    $query = "SELECT * FROM requests WHERE category_id='$category' ";
}
else {
    $query = "SELECT * FROM requests WHERE category_id = '" . 
     $_GET['category_id'] . "'";
}
$data = mysqli_query($dbc, $query);
if (mysqli_num_rows($data)>0){
   echo '<table>';  
   while ($row = mysqli_fetch_array($data)) {
      echo '<tr><td><a href="offer.php?request_id=' . $row['request_id'] . 
       '">Make Offer</a></td></tr>';

Код в offer.php, где $ _GET ['request_id'] не определен:

<?php
 $request_id = $_GET['request_id'];
 $asking_price = mysqli_real_escape_string($dbc, trim($_POST['asking_price']));
?>
 <form enctype="multipart/form-data" method="post" action="<?php echo 
  $_SERVER['PHP_SELF']; ?>">
 <input type="hidden" name="MAX_FILE_SIZE" value="<?php echo MM_MAXFILESIZE; 
  ?>" />
   <fieldset>
     <legend>Make an Offer</legend>
     <label for="ask_price">Asking Price:</label>
     <input type="text"  name="asking_price" /><br />
     <label for="comment">Comments</label>
     <textarea name="comment" /></textarea><br />
     <input type="hidden" name="old_picture" value="<?php if 
      (!empty($old_picture)) echo $old_picture; ?>" />
     <label for="itempicture">Picture of Item</label>
     <input type="file"  name="new_picture" />
   </fieldset>
     <input type="submit" value="Make Offer" name="submit" />
     <?php echo '<input type="hidden" name="request_id" value="' . 
      $request_id . '" />';?>    
 </form>

URL-адрес offer.php: http://localhost/offer.php?request_id=12

Я хочу иметь возможность получить значение request_id в URL-адресе offer.php

1 Ответ

0 голосов
/ 17 апреля 2019

Я ожидал бы, что offer.php заполнится $_GET[request_id] при достижении по ссылке в request.php.(Я бы также ожидал, что в строке $asking_price = не определено, потому что нет $_POST['asking_price'].

. Я ожидаю, что offer.php выдаст «Undefined $ _GET ['request_id']» при достижении отправителем.кнопка в offer.php.

Запросом на предложение offer.php будет отправка запроса на offer.php на основе атрибутов формы.

Если вы хотите отправить request_id вСтрока запроса от кнопки отправки в offer.php, вы можете создать атрибут действия следующим образом:
action="<?php echo $_SERVER['PHP_SELF']."?request_id=".$_GET['request_id']; ?>">, чтобы строка запроса отправлялась вместе с запросом отправки.

Возможно, вы захотите добавить if ($_SERVER['REQUEST_METHOD'] == 'GET') {} else {} блок, так что переменные могут быть установлены соответствующим образом, в зависимости от метода запроса.

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