我正在为我的网站创建一个登录页面,但标题位置不起作用。这是login.php的代码:
<?php
include ( './includes/header.php' );
if (isset($_POST['submit'])) {
$username = $_POST['username'];
$password = $_POST['password'];
$check_username = mysql_query("SELECT username FROM users WHERE username='$username'");
$numrows = mysql_num_rows($check_username);
if ($numrows != 1) {
echo 'That User doesn\'t exist.';
}
else
{
$check_password = mysql_query("SELECT password FROM users WHERE password='$password' && username='$username'");
while ($row = mysql_fetch_assoc($check_password)) {
$password_db = $row['password'];
if ($password_db == $password) {
$_SESSION['username'] = $username;
header("Location: members.php");
}
}
}
}
?>
<h2>Login to Your Account</h2>
<form action='login.php' method='POST'>
<input type='text' name='username' value='Username ...' onclick='value=""'/><p />
<input type='password' name='password' value='Password ...' onclick='value=""'/><p />
<input type='submit' name='submit' value='Login to my Account' />
</form>
如果有人可以帮助我,我真的很感激,谢谢。
P.S。
如果您需要头文件的php部分,请访问:
<?php
session_start();
include ( './includes/functions.php' );
include ( './includes/connect_to_mysql.php' );
?>
答案 0 :(得分:0)
如果您指的是header("Location: members.php");
无法正常工作,则需要确保在发送此位置标头之前未向浏览器输出任何内容。这包括不在header.php或其他包含的文件中输出任何内容。
另外,根据PHP header documentation上的这个说明,您应该在位置使用完整的URI:重定向:
HTTP / 1.1需要绝对URI作为»Location的参数:包括方案,主机名和绝对路径,但某些客户端接受相对URI。您通常可以使用$ _SERVER ['HTTP_HOST'],$ _SERVER ['PHP_SELF']和dirname()自己创建一个相对的URI:
答案 1 :(得分:-4)
尝试在标题php中添加Ob_start