【发布时间】:2014-12-31 11:23:41
【问题描述】:
这是我的 php 脚本
switch($x[0]){
case 'categorias' :
$_POST['step'] = 'categorias';
$_POST['pais']=$_POST['pais'];
$_POST['method']=1;
?><script>
window.location.href = "<?php echo $url ?>?step=categorias";
</script><?
break;
case 'corredores':
$_POST['step'] = 'corredores';
$_POST['pais']=$_POST['pais'];
$_POST['method']=1;
?><script>
window.location.href = "<?php echo $url ?>?step=corredores";
</script><?
break;
default: //do something ;
}
当我尝试这样做时,我会丢失使用 POST[''] 变量发送的值,
任何人都可以帮我解决这个问题,我尝试使用 php header() 选项,但它正在产生标头已发送错误,
所以我使用了javascript
谁能帮我解决这个问题
提前致谢
【问题讨论】:
-
您需要使用表单重新发布这些值。或者您可以使用 Session 或 cookie。
-
首先,您通常不应该设置
$_POST值。其次,即使整个概念有效,window.location.href也会执行GET请求。您需要将值放入$url或输出包含所需 POST 值的表单并使用 javascript 提交表单 -
@madforstrength 好的,所以我需要在 case 语句中添加一个 HTML 表单标签并发送它,这就是你的意思吗? .
-
您将失去它,因为
window.location.href就像您通过在地址栏中传递 URI 来浏览任何页面一样。如果数据不大,您可以在查询字符串中传递数据 -
如果您使用表单而不是使用
location.href,则需要以编程方式提交。例如document.form1.submit();
标签: javascript php