php header不能跳转,在本地机器上没问题,但上传到服务器上就有问题,跳转不了,非要刷新才跳转到指定页

只是我的代码:<?phpsession_start();$userid=session_id();$pid=$_GET['pid'];include("cn.php");... 只是我的代码:
<?php
session_start();
$userid=session_id();
$pid=$_GET['pid'];
include ("cn.php");
$sql="SELECT *
FROM `gouwuche`
WHERE `pid` =".$pid."
AND `userid` LIKE '".$userid."'";
$result=mysql_query($sql);
$arr = mysql_fetch_array($result);
if(mysql_num_rows($result)!=0)
{
$qty=$arr['gwc_shuliang']+1;
$sql="UPDATE `gouwuche` SET `gwc_shuliang` = '".$qty."' WHERE `gwc_id` =".$arr['gwc_id'];
mysql_query($sql);
}
else{
$sql="INSERT INTO `gouwuche`(
`gwc_id`,
`pid`,
`userid`,
`gwc_shuliang`,
`gwc_time`
)
VALUES (NULL,'$pid','$userid','1',now());";
mysql_query($sql);
}
header('location:mycart.php');
?>
跳转页mycart.php:
<?php
session_start();
$userid=session_id();
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html" charset="utf-8" />
<title>www.charger-batteries.co.uk--shopping cart</title>
</head>
<body>
<div id="container" style="text-align:center">
<div id="cart">
<h3 align="center">Items in your Shopping Cart:</h3>
<p align="left" style="margin-bottom:2px; margin-left:30px">IMPORTANT!</p>
<p style="color:#FF0000; text-align:left; float:left; font-size:18px; margin-left:30px">
If you change quantity of the products you want to order in the "Qty" window, make sure to click the "Update Cart" button on the right side of the shopping table.
</p>
<p></p>
<?php
include("cn.php");
$result=mysql_query("select *from gouwuche,product where userid='$userid' and gouwuche.pid=product.pid");
?>
<table border="1" width="900px" align="center">
<tr style="background-color:#666666; font-size:16px; color:#FFFFFF">
<td width="104">code</td>
<td width="600">Description</td>
<td width="68">Qty</td>
<td width="105">Price</td>
<td width="169">Subtotal</td>
<td colspan="2">Actions</td>
</tr>
<?php
$total=0;
while($row=mysql_fetch_array($result))
{
?>
<tr style=" background-color:#9999FF; color:#FFFFFF;">
<td><?php echo $row["pcode"]; ?></td>
<td width="600px"><?php echo $row["cs"]." ".$row["jianjie1"]." ".$row["category"]?> replacement for <?php echo $row["jianjie2"] ?></td><form action="update.php" method="post">
<td><input type="text" value="<?php echo $row["gwc_shuliang"]; ?>" name="gwc_shuliang"/><input type="hidden" name="id"value="<?php echo $row["gwc_id"]; ?>"/></td>
<td><span><?php echo number_format($row["pprice"]/(1.6),2 )?></span></td>
跳转页只能写这么多,字数限制了,请高手指教,回答正确还可以加分,谢了
展开
 我来答
新程php培训
2010-08-23 · TA获得超过1872个赞
知道小有建树答主
回答量:504
采纳率:0%
帮助的人:463万
展开全部
Cannot modify header information - headers already sent by… 解决办法:

1。header之前不要有任何客户端输出。也可能是并没有客户端输入,但是在header之前有错误产生。
2。改动php.ini 中的 output_buffering 选项,把off改为了一个数值,例如output_buffering=4096
3。使用ob_start()和ob_end_flush()来控制缓冲

这3种办法任一种都可以解决问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
QQ1163296207
2010-09-06
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
编码问题 把charset=UTF-8改为charset=GB2312
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
justbat
2010-08-23 · TA获得超过124个赞
知道小有建树答主
回答量:229
采纳率:0%
帮助的人:92.6万
展开全部
header('location:mycart.php');

header 里面的 Location: L 要大写试试

header() 必须在任何实际输出之前调用,不论是来自普通的 HTML 标记,空行或者 PHP。有一个常见错误就是在通过 include(),require() 或一些其它的文件存取类函数读取代码时,有一些空格或者空行在调用 header() 之前被发送了出去。同样在一个单独的 PHP/HTML 文件中这个错误也很普遍。(查看了下手册)

是在不行,
echo '<script language=javascript>';
echo 'location.href="mycart.php";';
echo '</script>';

如此麻烦点实行~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
喜欢选择的
2010-08-23 · TA获得超过367个赞
知道小有建树答主
回答量:356
采纳率:0%
帮助的人:344万
展开全部
header跳转不成功只有两种情况,
1是致命错误退出。这个就看你那个 cn.php 有没有可能导致致命错误的语句了
2是header前有输出。这个在session_start() 后面加上 ob_start() 试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
澄闻网
2010-08-23 · TA获得超过2789个赞
知道大有可为答主
回答量:4683
采纳率:0%
帮助的人:3109万
展开全部
header跳转一定要在第一个输出,你看下服务器返回的包,是不是返回的跳转前有多余的东西。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式