在URL中传递变量两次

时间:2016-03-12 23:44:48

标签: php

您可以在网址中传递变量的次数有限制吗? 我在做了一个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>

2 个答案:

答案 0 :(得分:1)

根据您的问题很难回答,因为您只提供了两行代码。传递变量不止一次没有问题。只要您正在创建新网址并执行该网址,您就可以随时添加变量,即使它与您从GET收到的变量相同。

答案 1 :(得分:0)

我已经弄清楚了。我提交表单时丢失了从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");