2016-03-12 58 views
0

您可以在URL中傳遞變量的次數有限制嗎? 我做了一個AJAX調用後打開了一個頁面,我通過罰款通過中間變量。在URL中傳遞一個變量兩次

window.open('articlecrop.php?id='+ result.mid, '_self'); 

我得到了PHP變量,做一些無關的東西,然後把它轉發過......

$id = $_GET['id']; 
    if(isset($_POST['submit'])) 
    {header("Location: articlesave.php?filename=$filename&height=$orig_h&id=$id"); 
} 

但變量不通過。

我試圖在屏幕上回顯$ id,它的工作原理。我也嘗試將$ id字段更改爲一些隨機文本並傳遞,所以我知道我拉和傳遞變量沒有任何問題。

這個問題似乎是因爲我從一個URL中獲取一個變量,然後再在URL中傳遞它。有沒有人有辦法解決這個問題?

<form action="<?PHP echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data"> 
      <p> 
       <label for="image">Image</label> 
       <input type="file" name="image" id="image"> 
       <br /> 
      </p> 
      <p> 
       <input type="submit" name="submit" value="Upload image" /> 
      </p> 
     </form> 
+0

什麼來通?是空白的嗎? – tmthydvnprt

+0

可能重複的[PHP傳遞一個變量與標題重定向](http://stackoverflow.com/questions/10048721/php-passing-a-variable-with-header-redirect) – Terminus

+0

是的,它的$ id =然後它是空白。 – Joe

回答

1

根據您的問題很難回答,因爲您只提供了兩行代碼。多次傳遞變量沒有問題。只要你正在創建新的url並執行該url,你總是可以添加變量,即使它是你從GET接收到的變量。

+0

我已經添加了一個可能導致它的表單。雖然,它不能解釋爲什麼它改變$ id = $ _GET ['id']; to $ id =「hello」;這是否有關係,原來的網址轉發是在JavaScript和PHP完成的? – Joe

+0

表單上的加密類型是否可以防止ID被傳遞? – Joe

0

我已經想通了。我提交表單時,從URL中拉出的id變量已丟失。爲了解決這個問題我...

$id = $_GET['id']; 

在頁面加載的變量,然後在一個隱藏字段通過了它的形式。

<input type="hidden" name="mid" id="mid" value="<?php echo $id; ?>"> 

把它的表單提交

$mid = $_POST['mid']; 

然後將其添加到URL

header("Location: articlesave.php?filename=$filename&height=$orig_h&id=$mid");