登录代码,如果成功,则实现标头重定向。它随机工作,我不知道我在做什么让它工作然后失败。
<?php
ob_start();
require ("include/PassHash.php");
if(isset($_POST['login'])){
// Returns more than 0 rows (Email found)
if($total>0 && PassHash::check_password($row['password'], $_POST['password'])){
// Correct credentials.
$_SESSION['user_id'] = $row['id'];
$_SESSION['user_email'] = $email;
session_set_cookie_params(24*60*60);
header("Location: /index.php?p=user_account");
exit();
ob_end_flush();
} else {
// Incorrect password / email.
}
}
?>
答案 0 :(得分:0)
在php中,如果您正在编写涉及会话或标头的任何代码,则需要注意在调用代码之前阻止任何输出。发送输出后,响应标头也会被发送,您将无法更改它们。
输出可以是echo / print语句中的任何内容,但更常见的是,它在PHP代码之前的前导空格或换行符。您需要在第一行和文件的第一个字符处开始<?php
打开标记。