打印后重定向 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 应该首先定义,因为您没有使用输出缓冲区。
我想重定向到一个页面,在用户单击打印并且打印过程完成后。能实现吗?
这是我的简单代码。
<?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 应该首先定义,因为您没有使用输出缓冲区。