所以......如果你有一个脚本说明这样的东西......
while($result = mysql_fetch_array($resource))
{
if($result['TITLE'] == $this->title)
{
header("LOCATION: profile.php?error=11");
}
echo 'testing';
}
//Create the database profile
$second_query = "INSERT INTO profiles(USER_ID, KEYWORDS, TITLE, INTRO) ";
$second_query .= "VALUES(".$this->userId.",'".serialize($this->keywords)."','".$this->title."','".$this->intro."')";
echo $second_query;
if($result = mysql_query($second_query))
{
if(isset($file))
{
$this->update_profile($this->files);
}
return true;
}else
{
return false;
}
并且第一个条件失败并返回标头...如果在发送标头后没有返回false,它是否继续运行脚本?我有一个问题,如果在我的数据库中找到标题,它将返回错误,但它将继续运行该脚本,从而在我的数据库中插入重复的标题条目。
再次......即使你发送了一个标题,脚本会继续执行吗?又名(在这种情况下)重定向?
答案 0 :(得分:3)
如果在没有location
的情况下发送exit
标头,则继续运行脚本。
有效:
header("Location: profile.php?error=11");
die(); // or exit();
认为header
不由PHP本身执行,它由浏览器执行,同样的事情当你应用header("Content-Type: application/force-download");
时它告诉浏览器必须下载以下输出块。
因此,即使您将标头设置为其他位置,除非我们退出,否则脚本中的所有代码都会被PHP
处理,然后浏览器会获取该位置并重定向。
答案 1 :(得分:0)
是的,所以在发送标题后退出脚本
header("Location: profile.php?error=11");
exit;