我的登录脚本有问题。问题是,登录scipt应该检查密码和名称是否正确。如果是,则应打开包含信息的站点。
网站确实打开了,但问题是,无论输入什么密码或名称,我都会输入需要正确密码的页面,并打开正确的名称。
我在脚本中找不到任何错误。也许你可以帮忙吗?以下是脚本:
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
<meta charset="UTF-8" />
<style type="text/css">
.fehler { color: red; }
</style>
</head>
<body>
<?php
if (isset($_GET["f"]) && $_GET["f"] == 1) {
echo "<p class='fehler'>Login-Daten nicht korrekt</p>";
}
?>
<form method="post" action="new 2.php">
Your name, m'lady: <br />
<input type="text" name="name" size="20" />
<br />
Your password, m'lady: <br />
<input type="password" name="passwort" size="20" /><br />
<input type="submit" value="Login" />
</form>
</body>
</html>
new 2.php脚本:
<?php
session_start();
$host = htmlspecialchars($_SERVER["HTTP_HOST"]);
$uri = rtrim(dirname(htmlspecialchars($_SERVER["PHP_SELF"])), "/\\");
if (isset($_POST["name"]) && $_POST["name"] == "M'lady" && $_POST["passwort"] == "lol") {
$_SESSION["name"] = "M'lady";
$_SESSION["login"] = "ok";
$extra = "website.php";
}
else {
$extra = "lol23.php?f-1";
}
header("Location: http://localhost/canttellyouthat/website.php");
?>
网站脚本:
<?php
session_start();
if (isset($_SESSION["login"]) && $_SESSION["login"] == "ok") {
?>
<!DOCTYPE html>
<html>
<head>
<title>Geschützter Bereich</title>
<meta charset="UTF-8" />
</head>
<body>
<?php
echo "<h1>Hi {$_SESSION['name']}</h1>";
?>
<p><font color="FF0000"><font size="7">Wichtige Informationen</font></p>
<p><a href="http://localhost/canttellyouthat/sorrydudes">Datenbank</p>
<p><a href="lol23.php"><font size="7">Ausloggen</font></p>
</body>
</html>
<?php
} else {
$host = htmlspecialchars($_SERVER["HTTP_POST"]);
$uri = rtrim(dirname(htmlspecialchars(["PHP_SELF"])), "/\\");
$extra = "lol23.php";
header("Location: http://localhost/lol23.php");
}
?>
答案 0 :(得分:0)
正如评论中所指出的,您使用location
而没有任何if条件。请尝试将代码new2.php
更改为:
<?php
session_start();
$host = htmlspecialchars($_SERVER["HTTP_HOST"]);
$uri = rtrim(dirname(htmlspecialchars($_SERVER["PHP_SELF"])), "/\\");
if (isset($_POST["name"]) && $_POST["name"] == "M'lady" && $_POST["passwort"] == "lol") {
$_SESSION["name"] = "M'lady";
$_SESSION["login"] = "ok";
header("Location: http://localhost/canttellyouthat/website.php");
}
else {
header("Location: http://localhost/canttellyouthat/lol23.php?f-1");
}
?>