我有一个网页.此网页或多或少按以下方式将用户重定向到另一个网页:
<form method="post" action="anotherpage.php" id="myform">
<?php foreach($_GET as $key => $value){
echo "<input type='hidden' name='{$key}' value='{$value}' />";
} ?>
</form>
<script>
document.getElementById('myform').submit();
</script>
Run Code Online (Sandbox Code Playgroud)
好吧,你知道,我所做的是将GET参数转换为POST参数.不要告诉我这很糟糕,我知道自己,并不是我真正做的,重要的是我从数组中收集数据并尝试通过POST将其提交到另一个页面.但是,如果用户关闭了JavaScript,则无法使用.我需要知道的是:有没有办法通过PHP传输POST参数,所以重定向也可以通过PHP方式(header('Location: anotherpage.php');)来完成?
通过POST传递params非常重要.我不能使用$ _SESSION变量,因为网页在另一个域上,因此$ _SESSION变量不同.
无论如何,我只需要用PHP ^^传递POST变量的方法
提前致谢!
可能重复:
PHP标头()重定向与POST变量
我正在编写一个脚本,表单数据正在提交给另一个脚本.我希望第二个脚本对提交的$_POST数据执行一些错误检查,如果一切正常,则处理数据.如果数据有错误,我header('Location: http://www.example.com/script.php');用来将访问者返回到表单页面.
我遇到的问题是我希望表单是粘性的 - 具有正确数据的字段维护用户放在其中的值.显然,要获得这些值,我需要访问$_POST数组.但是,当header()呼叫将访问者转发回表单时,这似乎被破坏了.
有没有办法使用标题位置东西将访问者重定向到另一个页面,同时仍然保留$_POST数据?
现在我正在使用这样的:header('Location: http://www.example.com/add.php?id='.$id.'&name='.$name.'&code='.$code.'&desc='.$description.'');访问为$_GET.
对于同样的我可以使用和种类的POST header('location: xxx')?
我正在尝试做的是一个秘密链接,例如website.com/?secret=yes,当他们访问此页面时我想从URL中删除此变量,所以我有以下内容:
<?php
if(isset($_GET['secret']) && $_GET['secret'] === 'yes') {
header('Location: http://website.com');
$secret="yes"; <--take note this is what I'm testing
}
?>
Run Code Online (Sandbox Code Playgroud)
上面的代码会立即重定向,所以url中没有变量,我试着用$ secret ="yes"自己制作这个变量; 能够使用以下代码:
<?php if( 'yes' === $secret ) : ?>
secret content here
<?php endif; ?>
Run Code Online (Sandbox Code Playgroud)
这可能吗?如何让我的代码工作?我不想使用会话,因为我希望它只执行一次,或者每次通过秘密链接访问时,如果他们访问没有它不显示.