使用URL成功传递参数后,空$ _ GET

时间:2019-04-17 10:57:00

标签: php get

我正在使用URL将request_id参数从request.php传递给offer.php,但在request.php的URL中显示了request_ id的值时,$ GET ['request_id']仍未定义。 / p>

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>

offer.php的URL:   http://localhost/offer.php?request_id=12

我希望能够在offer.php URL中检索request_id的值

1 个答案:

答案 0 :(得分:0)

我希望从$_GET[request_id]中的链接访问到offer.php时,会填充request.php。 (我也希望$asking_price =行上没有定义,因为没有$_POST['asking_price']

我希望在offer.php中的“提交”按钮到达时,offer.php会给出“未定义的$ _GET ['request_id']”。

根据表单属性,offer.php提交操作的请求将是对offer.php的后期请求。

如果要通过offer.php中的“提交”按钮在查询字符串中发送request_id,则可以这样构造action属性:
action="<?php echo $_SERVER['PHP_SELF']."?request_id=".$_GET['request_id']; ?>">,以便查询字符串与发布请求一起发送。

您可能考虑添加一个if ($_SERVER['REQUEST_METHOD'] == 'GET') {} else {}块,以便可以根据请求方法适当地设置变量。