【发布时间】:2014-05-24 11:48:04
【问题描述】:
我花了太多时间试图解决这个问题。到目前为止,我发现的所有修复都没有奏效。非常感谢任何帮助。
当我在检查登录信息后尝试重定向到新页面时会出现此问题。这是我在按下登录按钮后运行的代码:
<?php
ob_start();
session_start();
$database = new SQLite3('newdb.db');
$fname=$_POST['fname'];
$lname=$_POST['lname'];
$sql = "SELECT * FROM guests WHERE fname = '$fname' and lname = '$lname'";
$result= $database->query($sql);
$row = $result->fetchArray();
if (!empty($row)){
header ("Location: home.php");
die();
}
else {echo "NOPE";}
$database->close();
?>
<?php ob_flush(); ?>
如您所见,我尝试添加 ob_start/flush,但没有帮助。我还检查了额外的空白,并尝试了多种编写标头代码的方法。没有任何效果。
我假设我忽略了一些东西。 任何帮助将不胜感激。
还可能值得一提的是,错误消息说它来自我的第 1 行的 check.php 页面。虽然那里似乎什么都没有。
【问题讨论】:
-
第一个
<?php之前有空格什么的吗? -
似乎什么都没有,但错误消息告诉我问题出在第一行。我已经在几个编辑器中打开了文件……什么都没有。
-
为了让您稍后调试,您是否考虑过使用“输出缓冲”? outcontrol.configuration.php)
-
这很可能是一个字节顺序标记:检查您使用的编码;如果是“UTF8 with BOM”或类似的,将其更改为“UTF8”。
-
文件被编码为utf8,所以我认为不是BOM的原因。关于输出缓冲,我认为这就是我对 ob_start(); 所做的。在我的代码顶部。
标签: php html database sqlite login