这可能是重复但我在运行以下代码时遇到此问题
<?php
include('includes/functions.php');
if(isset($_POST['login'])) {
if(isset($_POST['username'])) {
if(isset($_POST['password'])) {
$username = $_POST['username'];
$query = mysql_query("SELECT * FROM users WHERE Username = '$username'") or die(mysql_error());
$user = mysql_fetch_array($query);
if(md5($_POST['password']) == $user['password']); {
echo 'Login successful';
$_SESSION['user'] = $user['FullName'];
header("Location:index.php");
}
} else {
echo "Please check your password!";
include('login.php');
}
} else {
echo "Please check your Username!";
include('login.php');
}
} else {
echo "Please check you filled out the login form!";
include('login.php');
}
?>
因此,当输入用户名和密码时,我会在浏览器中获得此输出
登录成功
警告:无法修改标题信息 - 已在第14行的/home/site/public_html/admin/dologin.php中发送的标题(在/home/site/public_html/admin/dologin.php:12中开始输出)
非常感谢所有帮助
答案 0 :(得分:3)
if(md5($_POST['password']) == $user['password']); {
^
echo 'Login successful';
$_SESSION['user'] = $user['FullName'];
header("Location:index.php");
}
有两个问题。 if语句中的;
不应该存在,然后该回声也应该像其他答案已经提到的那样。删除echo
应修复该错误,但由于;
而导致标题无效,导致标题无效。
答案 1 :(得分:1)
header(<..>)
之前应该没有输出,所以你应该摆脱它(用echo
删除行。)
答案 2 :(得分:0)
使用: -
<script>location.href - "index.php"; </script>
而不是
header("Location:index.php");
答案 3 :(得分:0)
添加ob_start();在文件的开头..并删除php标签之前和之后的空格..