所有
我的应用程序中有几个html页面在WAMP上。
我需要一个登录页面,成功登录后会将用户重定向到应用程序中的其他页面。
我:
1>无法重定向。我已经定义了header('Location: /X/Y/abc.html')
。这是来自wamp home的相对路径,即C:\wamp\www\
。我认为这里提到的路径存在问题。
2 - ;登录失败后,用户应重定向到同一页面。当我使用header('Location: '.$_SERVER['PHP_SELF'])
尝试时。试图执行代码给我
所以我基本上有两个文件夹:
文件夹Z包含以下名为index.html
和abc.php的HTML代码
Folder / X / Y /包含为其设置身份验证的实际应用程序。
HTML代码:
<html>
<head>
<title>
Login
</title>
</head>
<body>
<form action="/Z/abc.php" method="post">
<table id="input">
<tr>
<td>Admin Username <input type="text" name="username"></td>
</tr>
<tr>
<td>Password <input type="text" name="passwd"></td>
</tr>
<tr>
<td><input type = "submit" id="submitButton"></td>
</tr>
</form>
</body>
</html>
PHP代码:
<?php
$username="ab";
$password="cd";
if (isset($_POST["username"]) && strcasecmp($username, $_POST["username"]))
{
header('Location: /X/Y/navigation.html');
}
?>
执行代码并不会将我重定向到navigation.html
,而是停在abc.php,即网址重新登录:http://localhost:81/Z/validate.php
答案 0 :(得分:1)
如果登录失败,您需要将abc.php重定向回登录页面:
abc.php:
<?php
$username = 'ab';
$password = 'cd';
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if ((isset($_POST['username']) && ($_POST['username'] == $username)) &&
(isset($_POST['password']) && ($_POST['password'] == $password))) {
header("Location: /X/Y/navigation.html");
exit();
}
}
header("Location: login.html");