嘿我想在if和else语句中重定向到同一页面。我该怎么办?
我尝试了以下代码,但没有工作:
if($ac == 'yes'){
$message="Demo sold their product";
header( "Location: delete/delete.product.php?product=<?php echo $encodeCodeProduct; ?>" ); die;
} else{
$message="Demo did not sell their product";
header( "Location: delete/delete.product.php?product=<?php echo $encodeCodeProduct; ?>" ); die;
}
答案 0 :(得分:2)
说明:您无法在PHP标记内附加PHP。因此,您需要解决错误,如下所示。您必须将PHP与Header Location Redirect连接起来。
if($ac == "yes"){
$message="Demo sold their product";
header( "Location: delete/delete.product.php?product=".$encodeCodeProduct); die;
} else{
$message="Demo did not sell their product";
header( "Location: delete/delete.product.php?product=".$encodeCodeProduct); die;
}
可能会出现错误:如果您遇到已发送标头错误,则必须在标头重定向之前使用ob_start()
清除已经发送的输出。
使用ob_start重定向代码
if($ac == "yes"){
$message="Demo sold their product";
ob_start();
header( "Location: delete/delete.product.php?product=".$encodeCodeProduct); die;
} else{
$message="Demo did not sell their product";
ob_start();
header( "Location: delete/delete.product.php?product=".$encodeCodeProduct); die;
}
来自SO的更多其他参考:How to fix "Headers already sent" error in PHP
答案 1 :(得分:1)
您已经在PHP标记内,因此在您的位置字符串中,当您想要编写x
时,无法重新打开PHP标记。只需撰写$encodeCodeProduct
或"...product=$encodeCodeProduct"
。