当用户登录时,屏幕上不显示任何内容(错误报告已开启)
这就像$_SESSION
不正确?
<?php
include_once('../includes/connection.php');
if (isset($_SESSION['logged_in'])) {
?>
<html>
<head>
<title>wa</title>
<link rel="stylesheet" type="text/css" href="../assets/stylesheet.css">
</head>
<body>
<div class="container">
<a href="index.php" id="logo">CMS</a>
<br />
<ol>
<li><a href="add.php">Add Article</a></li>
<li><a href="delete.php">Delete Article</a></li>
<li><a href="logout.php">Logout</a></li>
</ol>
</div>
</body>
</html>
<?php
} else {
if (isset($_POST['username'], $_POST['password'])) {
$username = $_POST['username'];
$password = md5($_POST['password']);
if (empty($username) or empty($password)) {
$error = 'All fields are required!';
}else {
$query = $pdo->prepare("SELECT * FROM users WHERE user_name = ? AND user_password =
?");
$query->bindValue(1, $username);
$query->bindValue(2, $password);
$query->execute();
$num = $query->rowCount();
if ($num == 1) {
$_SESSION['logged_in'] = true;
header('Location: index.php');
exit();
} else{
$error = 'Incorrect details!';
}
}
}
?>
<html>
<head>
<title>Visuality dashboard</title>
<link rel="stylesheet" type="text/css" href="../assets/stylesheet.css">
</head>
<body>
<div class="container">
<a href="index.php" id="logo">CMS</a>
<br /><br />
<?php if (isset($error)) { ?>
<small style="color:#aa0000;"><?php echo $error; ?>
<br /><br />
<?php } ?>
<form action="index.php" method="post" autocomplete="off">
<input type="text" name="username" placeholder="något">
<input type="password" name="password" placeholder="något">
<input type="submit" value="Login" />
</div>
</body>
<footer>
</footer>
</html>
<?php
}
?>
答案 0 :(得分:1)
你需要调用session_start();在PHP文件的开头。如果您有多个文件,那么将其添加到您的连接文件一次将适用于所有文件。
详细了解PHP中的会话here
答案 1 :(得分:0)
第39行md5$_POST['password']);
你错过了“(”
md5($_POST['password']);
答案 2 :(得分:0)
每个具有$ _SESSION变量的php文件都需要包含session_start();在页面顶部。
当页面在加载后出现白屏时,您应该看到php_error_log可能存在语法错误(可能会丢失&#34 ;;&#34;)。 请检查您的代码。 希望它可以帮到你。