我正在为学校项目制作一个PHP MySQL页面,我正在尝试创建一个您需要登录才能访问的管理区域。问题是,当我使用正确的用户名和密码登录时,它会将我发送到空白页面。如果输入错误的用户名或密码,也会发生相同的情我正在使用标头重定向到ADM_hovedside.php。这不完全是我的代码,但我已将其更改为适合我的数据库。我还确认它可以工作,当我删除标头并用echo命令替换它,类似于header命令下面的那个。我真的被困了,没有论坛帖子为我解决了这个问题。希望得到任何可能导致答案的帮助。谢谢。这是我的代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
<?php
define('DB_HOST', 'localhost:8888');
define('DB_NAME', 'berntbilpleie');
define('DB_USER','root');
define('DB_PASSWORD','root');
$con=mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die("Failed to connect to MySQL: " . mysql_error());
$db=mysql_select_db(DB_NAME,$con) or die("Failed to connect to MySQL: " . mysql_error());
function SignIn()
{
session_start(); //starting the session for user profile page
if(!empty($_POST['user'])) //checking the 'user' name which is from Sign-In.html, is it empty or have some text
{
$query = mysql_query("SELECT * FROM brukernavn where brukernavn = '$_POST[user]' AND passord = '$_POST[pass]'") or die(mysql_error());
$row = mysql_fetch_array($query) or die(mysql_error());
if(!empty($row['brukernavn']) AND !empty($row['passord']))
{
$_SESSION['brukernavn'] = $row['passord'];
header("Location: ADM_hovedside.php" );
}
else
{
echo("FEIL BRUKERNAVN OG/ELLER PASSORD!") ;
}
}
}
if(isset($_POST['submit']))
{
SignIn();
}
?>
</body>
</html>
我在ADM_hovedside.php网站上也有这个代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
<?php
session_start();
if(!isset($_SESSION['user'])){
header("Location: index.php");
}
?>
<p>
This is a test page
</p>
</body>
</html>