我想在用户点击打印并且打印完成后重定向到页面。可以实现吗?
这是我的简单代码。
<?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');
}
?>
如您所见,我评论了重定向代码。提前致谢
答案 0 :(得分:2)
如果php已输出任何内容,header()
函数将无效。标题应该在任何输出之前发送。
您可以使用
<meta http-equiv="refresh" content="5; url=http://yourdomain.com/path/to/barcode.php">
在页面的HTML中,在加载完成后将在5秒内重定向。
希望这有帮助!
答案 1 :(得分:0)
不幸的是,当您在网页上打印某些内容时,您无法使用标题功能。 (标题必须在任何内容之前)以及这就是为什么你不能这样做。
解决方法是通过javascript重定向,如下所示:
echo '<script>self.location = "barcode.php";</script>';
您可以使用headers_sent功能检查是否可以使用标题功能,但这只是一个计划问题。在您的代码中,使用JS将解决问题。
答案 2 :(得分:0)
标头,因为你没有使用输出缓冲区。