在 URL 中传递变量两次


passing a variable in a URL twice

URL中传递变量的次数是否有限制?我在执行 AJAX 调用后打开了一个页面,并且我正在传递 mid 变量。

 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>
根据您的

问题很难回答,因为您只提供了两行代码。多次传递变量没有问题。只要您正在创建新 url 并执行该 url,您始终可以添加变量,即使是您从 GET 收到的相同变量。

我已经想通了。提交表单时,我从 URL 中提取的 id 变量丢失了。为了解决这个问题,我...

在页面加载时拉取变量

$id = $_GET['id']; 

然后将其传递到表单上的隐藏字段中。

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

将其拉到表单提交中

$mid = $_POST['mid'];

然后将其添加到网址

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