我有这段代码
if(isset($_GET['elimina_id'])){
if (in_array($_GET['elimina_id'], $_SESSION['cart']) ) {
$index = (array_keys($_SESSION['cart'], $_GET['elimina_id']));
$i = $index[0];
unset($_SESSION['cart'][$i]);
header('location: cart.php');
}
}
基本上,我想删除购物车中的商品。问题是,在测试页面上,localhost,一切正常,但在实时服务器上,我遇到了header()
的问题。如果我放header()
该项目将不会被删除,则该页面仅在不执行任何操作的情况下重新加载。如果我没有放header()
,在我单击“删除项目”链接后,没有任何反应,但如果我手动重新加载它工作的页面,该项目将删除。
在localhost上我没有这个问题,它可能是什么? php版本没关系,可能是.ini文件中的一些设置吗?
希望你能帮助我,谢谢
答案 0 :(得分:3)
在header('location: cart.php');
ob_start()
答案 1 :(得分:1)
将ob_start()
放在代码的第一行,
ob_start();
if(isset($_GET['elimina_id'])){
if (in_array($_GET['elimina_id'], $_SESSION['cart']) ) {
$index = (array_keys($_SESSION['cart'], $_GET['elimina_id']));
$i = $index[0];
unset($_SESSION['cart'][$i]);
header('location: cart.php');
}
}
答案 2 :(得分:1)
喜欢这个
<?php
ob_start();
if(isset($_GET['elimina_id'])){
if (in_array($_GET['elimina_id'], $_SESSION['cart']) ) {
$index = (array_keys($_SESSION['cart'], $_GET['elimina_id']));
$i = $index[0];
unset($_SESSION['cart'][$i]);
header('location: cart.php');
}
}
ob_end_flush();
?>
`
答案 3 :(得分:1)
解决方案:更新PHP版本
我的托管问题也有同样的问题,
我通过更新PHP版本来解决托管服务提供商的问题
他刚刚将php版本从php 5.4更改为5.6,它可能已经修复了问题
请求您的托管服务提供商更新PHP版本。
答案 4 :(得分:0)
为什么不使用元重定向标记或javascript解决方案?
<强> HTML:强>
<meta http-equiv="refresh" content="0;url=http://www.site.com/cart.php">
JavaScript#1:
<script>window.location = "http://www.site.com/cart.php";</script>
JavaScript#2: <script>window.navigate("http://www.site.com/cart.php");</script>
答案 5 :(得分:0)
这将起作用
<script type="text/javascript">
<!--
window.location="http://www.newlocation.com";
//-->
</script>