我尝试过我的研究,看起来我的成功并不成功。我确保在标题标记之前没有内容打印到屏幕上。
此页面将从上一个登录页面中的表单中获取信息,并使用该信息确定用户应重定向到哪个页面。不幸的是,它并不像我的任何标头标签重定向到任何东西,它只是停留在这个php页面。
为了进行调试,我对每个场景(登录,出局,错误的pw)都有回应,并且每个场景都有效,但显然当我回应时,重定向将无法正常工作。我只想测试信息是否正确传输。
其他人可以帮助并给我一个局外人的观点吗?
<?php
session_start();
include('dbconnect.php');
$email = trim($_POST['email']);
$password = trim($_POST['password']);
$query = "SELECT password FROM artists WHERE email='$email'";
$passwordMatch = mysqli_query($db, $query);
$row = mysqli_fetch_array($passwordMatch);
if($row[0] == $password){
$query = "SELECT active FROM artists WHERE email = '$email'";
$active = mysqli_query($db, $query);
$active = mysqli_fetch_array($active);
$active = $active[0];
if ( $active == 0 ){
header('Location: validate.php');
}
else{
header('Location: artistHome.php'); //redirect to user home page and update session
$_SESSION['user']= $email;
unset($_SESSION['error']);
}
}
else{
header("Location: login.php");
$_SESSION['error']= 'Invalid Password';
}
?>
答案 0 :(得分:0)
在这里有大约数千个像这样的帖子。在php打开标签?>
之前,取消php关闭标签<?php
和空格,html,空白行。还要检查之前是否没有输出:
header("Location:");
与print
,var_dump
,echo
等相似。
同时检查if
条件,也许您只是跳过它。
如果您include
,include_once
,require_once
或require
也会检查所包含文件中的所有内容。
要缩小要修改的内容,请查看您的php error_log
,并向我们提供错误说明。
答案 1 :(得分:0)
header("Location: login.php");
将始终失败。这包括空格,甚至是PHP返回的错误。确保在使用header
功能之前返回无。