你能帮我一下吗?
我转移到新的托管,突然收到此错误:
警告:无法修改标头信息 - 标头已由(输出从 /home/capital/public_html/Google/Connect.php:1 开始)在 /home/capital/public_html/Google/CheckLogin.php 第 25 行发送
这是我的脚本:
<?php
session_start();
$server = 'localhost';
$user = '***';
$pass = '***';
$db = '***';
// Connect to Database
$connection = mysql_connect($server, $user, $pass) or die ("Could not connect to server ... \n" . mysql_error ());
mysql_select_db($db);
$my_t=getdate(date("U"));
$DateTime = ("$my_t[weekday], $my_t[month] $my_t[mday], $my_t[year]");
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);
$sql=mysql_query("SELECT * FROM Users WHERE Username='$myusername' and Password='$mypassword' and status='1'")or die(mysql_error());
if(mysql_num_rows($sql) > 0){
while($count=mysql_fetch_array($sql)){
$_SESSION['user']=$count['userid'];
$TodayLogin = $count['TodayLogin'];
}
mysql_query("UPDATE Users SET LastLogin = '$TodayLogin' WHERE userid = '$_SESSION[user]'");
mysql_query("UPDATE Users SET TodayLogin = '$DateTime' WHERE userid = '$_SESSION[user]'");
header("location:index.php");
}
else
{
echo "<div style='text-align:center;font-family:arial;font-size:32px;font-weight:bold;'>user or password incorrect</div>";
}
?>
检查您之前没有任何东西<?php
tag.
问题是如果你在开始标签之前有任何东西
然后它会被转换为 html 并在创建页面的其余部分之前与标头一起发送。
稍后,您在发送了一个标头后尝试发送另一个标头。
我发现要遵循以下步骤:
1) 找到导致问题的 header() 语句。错误必须位于该行或其之前。
2) 在此头语句之前查找可以将输出发送给用户的任何语句。
如果找到一个或多个,请找到某种方法将标题语句移到它们之前。
复杂的条件语句可能会使问题复杂化,但也可能有助于解决问题。
考虑 PHP 脚本顶部的条件表达式,它尽早确定标头值并将其设置在那里。
3) 确保 php 开始和结束标记之外没有空格。虽然前面有一个空行<?php
开始标签可能看起来很无辜,当被PHP处理时,它会变成一个echo语句,打印出一个空行。这是一个常见的罪魁祸首。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)