【发布时间】:2014-06-21 09:03:52
【问题描述】:
我有一个 PHP 文件reports.php,它有一个表单,当点击提交时会转到reports6.php。
reports6.php 有 mysql 的代码,如果没有找到行,它会被重定向回 reports.php 并带有错误代码。
在reports6.php中我用来去reports.php
header ("location: reports.php")
但是,如果找到行,如果设置了一些参数并调用另一个 php 文件 (cpdf.php) 以再次使用标头重定向从这些参数创建 pdf。
我想要的是当用户从reports.php 中点击提交时.. cpdf.php 应该在新页面中打开。
如果我在提交表单时在reports.php 中使用target="_blank",report6.php 会在另一个选项卡中打开并生成pdf,但是如果没有行reports.php 在另一个选项卡中打开并显示“未找到行”。
如果我不在reports.php 中使用_blank 并在reports6.php 中使用javascript 打开cpdf.php 并将标头重定向到reports.php 它不起作用(我已经给出了允许弹出窗口但我不知道为什么cpdf.php 打不开)..
如果我在 reports6.php 中给出一些输出,例如“echo me;”然后pdf打开正常..我想这与php的顺序和或其他东西有关。
当我搜索其他先前提出的问题时,无法使用标题并在 php 的新选项卡中打开..
那么在这种情况下我该怎么办?
谢谢。
编辑:
以下是相关代码:
报告.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) 在reports.php中添加target="_blank"
2) 在reports6.php中添加<script type="text/javascript" language="Javascript">window.open("cpdf.php")</script>
我想要什么:
当从reports.php提交表单时,cpdf.php在新选项卡中打开(如果有行)
如果不重定向回reports.php 仅在同一选项卡中(而不是在另一个选项卡中,因为我得到它)
【问题讨论】:
-
因为这也被标记为 javascript.. 为什么不在它为您创建一个新窗口之前创建一个请求来检查提交的值是否有结果.. 使用 ajax..
标签: javascript php mysql