我将网站的所有表单提交到特定页面form_submition.php
,处理完表单数据后,我使用页眉功能重定向到另一页面index.php?page=some page
但是在我的一种名为main_form
的表格中,我得到了错误的重定向
if(isset($_POST['form1']))
{
// process form data
header('Location: ../index.php?page=some page')
}
if(isset($_POST['form2']))
{
// process form data
header('Location: ../index.php?page=some page')
}
$to=$_GET['to']
if (isset($_POST['main_form']) ) {
// process form data
}
header("Location: ../index.php?page={$to}&error_loc_{$error_loc}=1&err_msj=" . $err_msj, true, 302);
exit();
但是它将我重定向到mywebsite.com/folders/form_submitions.php?to=all_p
代替mywebsite.com/index.php?page=all_p
有什么想法吗?
更新1
我检查了很多代码,似乎标题根本没有重定向页面。奇怪的是,mywebsite.com/index.php?page=all_p
处的页面已加载,但URL不会更改,并且css + js文件也未加载,因为相对路径无效。
更新2
进一步检查我的代码,然后再将main_form
提交到form_submission.php
,我用JavaScript打开了一个新窗口以打印一些数据。形式如下:
<form enctype='multipart/form-data' action='./forms/form_submitions.php?to=all_p' onsubmit="return checkfiles('attachfiles')">
.
.
.
<button id="main_form" name="main_form" class="btn btn-primary">Save Changes</button>
</form>
当单击#main_form
时,我调用以下函数:
$("#main_form").on('click', function(event) {
newWin = window.open('printingpage.php?data='+ data);
setTimeout(function () { newWin.print(); }, 500);
});
除非打印预览关闭,否则打印功能将不会返回。我认为这会带来问题,因为当我删除newWin.print()
函数时,一切正常。
有什么方法可以使打印异步进行?
答案 0 :(得分:-1)
删除路径中的..部分并尝试。
所以代码将是:
if(isset($_POST['form1']))
{
// process form data
header('Location: /index.php?page=some page')
}
if(isset($_POST['form2']))
{
// process form data
header('Location: /index.php?page=some page')
}
$to=$_GET['to']
if (isset($_POST['main_form']) ) {
// process form data
}
header("Location: /index.php?page={$to}&error_loc_{$error_loc}=1&err_msj=" . $err_msj, true, 302);
exit();
答案 1 :(得分:-1)
尝试一下。将您的Web链接放入重定向链接。
$data = array(
'page' => $to,
'error_loc_'.$error_loc => 1,
'err_msj' => $err_msj
);
header("Location: http://www.mywebsite.com/index.php?".http_build_query($data), true, 302);
希望这会有所帮助。