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