打印后重定向 PHP

Redirect after printing PHP

我想重定向到一个页面,在用户单击打印并且打印过程完成后。能实现吗?

这是我的简单代码。

<?php
include('include/conn.php');
$id = $_GET['id'];
$sql = "select * from barcode where b_acc_no_code = '".$id."'";

$result = mysqli_query($conn,$sql);

while($row = mysqli_fetch_assoc($result)){

$path = $row['b_path'];

echo '<img src="'.$path.'.jpg" />';
echo '<script>window.print();</script>';
//header('location: barcode.php');
}
?>

如您所见,我对重定向代码进行了注释。提前致谢

不幸的是,如果您已经在网页上打印了某些内容,则无法使用 header 功能。 (Header 必须在任何内容之前)这就是为什么你不能这样做。

解决此问题的方法是通过 javascript 重定向,如下所示:

echo '<script>self.location = "barcode.php";</script>';

您可以使用headers_sent功能来检查您是否可以使用header功能,但这只是一个计划问题。在你的代码中,使用JS就可以解决问题。

如果 php 已经输出任何内容,header() 函数将不起作用。 header 应该在任何输出之前发送。

您可以使用

<meta http-equiv="refresh" content="5; url=http://yourdomain.com/path/to/barcode.php">

在页面的 HTML 中,加载完成后将在 5 秒内重定向。

希望对您有所帮助!

header 应该首先定义,因为您没有使用输出缓冲区。