我有这个页面,它有一个重定向到另一个网站的PHP。但是它有一个html,它将在重定向之前显示。可以在这里完成吗?我想延迟重定向几个秒表示在重定向页面之前显示html内容一段时间。
<?php
if($app_used=='Cnojhjkct')
{
$redirectTo=$respL."?status=".$status."&orderID=".$orderID."&transaefNo=".$cusf_no."&payMode=".$tranype."&cardider=".$cardPrider;
header("Location: $redirectTo");
}
?>
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="A layout example with a side menu that hides on mobile, just like the Pure website.">
<title>Transaction Response</title>
<link rel="stylesheet" href="http://yui.yahooapis.com/pure/0.3.0/pure-min.css">
<link rel="stylesheet" href="./main.css">
</head>
<body>
<div id="layout">
<div id="main">
<div class="header">
<div class="pure-g-r">
<div class="pure-u-1-4">
<img src="./gsggd.png" alt="Peyto Lake">
</div></div>
<h1>Transaction Response</h1>
</div>
<div class="content">
</div>
<div style="width:100%">
<div style="margin-left:5%;width:5%;float:left;margin-right:20%;"><img src="<?php
if($message == 'successfull')
{
echo './success.png';
}
else
{
echo './failed.png';
}
?>"/></div>
<div style="width:70%;float:left;"><h3>Your transaction was <?php echo $message; ?> ! Your transaction reference number for any further communication is <?php echo $cust_ref_no; ?> .</h3></div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
答案 0 :(得分:1)
您不能使用HTTP位置重定向来延迟,因为一旦读取它就会重定向,
相反,您可以使用刷新重定向:
header( "Refresh:5; url=$redirectTop", true, 303);
答案 1 :(得分:0)
你无法使用“位置”标题重定向,因为它会在发送后立即生效,并且必须在任何内容之前发送(即在重定向发生之前无法显示任何内容)。
您最好的选择可能是刷新重定向。请参阅此问题:How to Redirect Page in PHP after a few seconds without meta http-equiv=REFRESH CONTENT=time
或者,您可以使用客户端脚本来管理它(例如Javascript)。这在理论上给你最大的控制权,但在某些浏览器上可能会被禁用。