繁体   English   中英

将PHP重定向到新窗口

[英]Redirect PHP to new window

我有一个PHP文件report.php,该文件具有一种形式,单击后提交即可进入reports6.php。

report6.php具有mysql的代码,如果未找到行,则会将其重定向回带有错误代码的reports.php。

在reports6.php中,我正在使用reports.php

header ("location: reports.php")

但是,如果找到行,则设置一些参数并调用另一个php文件(cpdf.php)以再次使用标头重定向从这些参数创建pdf。

我想要的是当用户单击reports.php中的Submit时。cpdf.php应该在新页面中打开。

如果我在提交表单时在reports.php中使用target =“ _ blank”,则report6.php将在另一个选项卡中打开并生成pdf,但是如果没有行,则report.php将在另一个选项卡中打开,提示“未找到行”。

如果我不使用reports.php中的_blank并在reports6.php中使用javascript打开cpdf.php,并将标头重定向到reports.php,则它不起作用(我给出了允许弹出窗口,但我不知道为什么使用cpdf。 php将无法打开)。

如果我在report6.php中提供一些输出,例如“ echo me;” 然后pdf打开正常..我想这与php和the之类的东西有关。

当我搜索其他先前询问的问题时,无法使用标头并在php中的新标签页中打开。

那么在这种情况下我该怎么办?

谢谢。

编辑:

以下是相关代码:

Reports.php

<form name="report6" action="report6.php" onsubmit="return check_digit('report6','system_id',' System ID ')"method="post">
        <td><b>Print old Invoice by System ID: </b></td>
        <td><input type="text" name="system_id" ></td>
        <td><input type="submit" name="Run" value="Run"></td>
</form>

Reports6.php

$sql=blah blah blah
if ( $row_cnt == 0 ) 
    { 
        $mysqloutput="No such System ID in the Database";
        $_SESSION["mysqloutput"]=$mysqloutput; 
        mysqli_close($con);
        die(header ("location: reports.php"));
    }
else
{ header ("location: cpdf.php"); }

cpdf.php

//生成pdf的代码

我试过的

1)在report.php中添加target =“ _ blank”

2)在report6.php中添加<script type="text/javascript" language="Javascript">window.open("cpdf.php")</script>

我想要的是:

如果从那里提交报表,则从reports.php提交表单时,cpdf.php将在新选项卡中打开

如果没有,则仅重定向到同一选项卡中的reports.php(在我得到的其他选项卡中不)

您无法在PHP中打开新窗口,因为它是服务器端脚本。 但是,当您希望在新窗口中打开标题时,可以将其添加到标题位置:

header("Location: reports.php?newwindow=true"); exit();

然后在您的reports.php文件中,您可以选择该GET方法,并检查是否设置了该方法,并使用javascript强制在新窗口中打开该窗口。

<?php if(isset($_GET['newwindow']) && $_GET['newwindow']=="true"){ ?>
<script>[... script that handles new window here ...]</script>
<?php } ?>

如果您想使用php打开一个新窗口,这里是正确的代码

echo "<script language=\"javascript\">window.open('cpdf.php',\"_blank\");</script>"; 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM