PHP头重定向-不工作

PHP头重定向-不工作,php,html,Php,Html,代码如下: if($rowCheck>0) { session_start(); while($row = mysql_fetch_assoc($check)) { $_SESSION['developer'] = $row; } header("Location: http://".$_SERVER['SERVER_NAME']."/index.php"); } else echo 'Invalid Password or Emai

代码如下:

if($rowCheck>0) {
  session_start();

  while($row = mysql_fetch_assoc($check)) {
    $_SESSION['developer'] = $row;          
  }

  header("Location: http://".$_SERVER['SERVER_NAME']."/index.php");
}
else
    echo 'Invalid Password or Email!';  
除了
标题
,其他一切都正常工作,如果我在
标题
之后写一个
回音
,它将正常工作。另外,如果我打印了
位置
,它将显示准确的
位置

我在用mamp和macos。所以它在本地主机上


有什么帮助吗?

只需对所有内容进行注释,并粘贴到正确的开头
标题(“位置:http://”。$\u SERVER['SERVER\u NAME'].“/index.php”)并查看它是否工作。如果没有,请检查BOM编码。

只需注释所有内容并粘贴在正确的开头
标题(“位置:http://”。$\u SERVER['SERVER\u NAME'].“/index.php”)并查看它是否工作。如果没有,请检查BOM编码。

在标题行后添加exit()或die()。header函数不会停止脚本其余部分的执行。

在头行之后添加exit()或die()。header函数不会停止脚本其余部分的执行。

正如scott所说,在header之后需要exit()或die()

另外,检查打开和关闭php标记前后是否没有空格,如下所示:

   <?php

正如scott所说,您需要在标题后面添加exit()或die()

另外,检查打开和关闭php标记前后是否没有空格,如下所示:

   <?php
两件事

首先,我将把
ini\u集(“display\u errors”,1)位于PHP代码中页面的最顶端。您可能会收到“已发送邮件头”错误

在标题后添加一个出口,以防止脚本继续执行:

header("Location: http://".$_SERVER['SERVER_NAME']."/index.php");
exit;
最后,这一点没有意义

  while($row = mysql_fetch_assoc($check)) {
    $_SESSION['developer'] = $row;          
  }
您只需设置一次会话变量,就不需要等待。您还将其设置为一个mysql资源(您可能打算这样做),但可能您只需要一个列

$row = mysql_fetch_assoc($check);
$_SESSION['developer'] = $row['username']; 
两件事

首先,我将把
ini\u集(“display\u errors”,1)位于PHP代码中页面的最顶端。您可能会收到“已发送邮件头”错误

在标题后添加一个出口,以防止脚本继续执行:

header("Location: http://".$_SERVER['SERVER_NAME']."/index.php");
exit;
最后,这一点没有意义

  while($row = mysql_fetch_assoc($check)) {
    $_SESSION['developer'] = $row;          
  }
您只需设置一次会话变量,就不需要等待。您还将其设置为一个mysql资源(您可能打算这样做),但可能您只需要一个列

$row = mysql_fetch_assoc($check);
$_SESSION['developer'] = $row['username']; 


确保已打开错误报告。你得到了什么错误信息?那个循环在做什么?它不会做你认为应该做的事。“else”语句后面的“{”在哪里?顺便问一下,你得到了什么错误?@HamZaDzCyberDeV{}一行都不需要。@samsamX讨厌意大利面代码~~确保错误报告已打开。你得到了什么错误消息?这个循环在做什么?它不会做你认为应该做的事。{”在“else”语句之后?顺便问一下,你得到了什么错误?@HamZaDzCyberDeV{}一行都不需要。@Samx讨厌意大利面代码~\u~我这样做了,我注释了所有内容并只在文件中写入了标题,它不会重定向。BOM编码是什么?我现在用谷歌搜索它,在文本编辑器中检查您的文件编码。您必须以UTF8-NOBOM格式保存它(名称可能会根据您的文本编辑器而更改)它被设置为UTF8。NOBOM在我的文本编辑器“Coda”下不可用。那么我不知道…您是否有“UNIX”编码选择它,看看?很抱歉稍后的回复,但所有这些问题都是因为在我这样做之前有一个空格,我对所有内容都进行了注释,并且只在文件中写入了标题,它不会重定向。BOM编码是什么?我现在会搜索它,在文本编辑器中检查文件编码。你必须以UTF8-NOBOM格式保存它(名称可能会根据您的文本编辑器而更改)它被设置为UTF8。NOBOM在我的文本编辑器“Coda”下不可用。那么我不知道…您是否有“UNIX”编码选择它,看看?很抱歉稍后的回复,但所有这些问题都是因为在运行它时出现的情况之前有一个空格?完全不同,空白页!!如果我打印位置,它将打印位置。如果我在标题后编写任何代码,它工作正常,如果我删除login.php中的所有代码并输入标题,它将不工作t重定向…另一方面,Logout.php有一个指向索引页的标题,这个标题是相同的,并且可以工作。你没有打开输出缓冲,是吗?运行它时会发生什么?完全不同,空白页!!如果我打印位置,它会打印位置。如果我在标题后编写任何代码,它工作正常,如果我删除日志中的所有代码在.php中输入标题,它不会重定向…另一方面,Logout.php有一个指向索引页的标题,它也可以工作。你没有打开输出缓冲,对吗?我以前已经修复过它。正如你提到的,php标记前面有一个空白。很高兴听到你把它整理好了!我以前已经修复过它。正如你所说的ned,php标签前面有一个空白。很高兴听到你把它整理好了!