我有一个简单的登录页面 login.html - 获取表单中的输入用户名和密码 login_result.php - 连接到服务器并启动会话&形成小形式验证 note.php - 这是用户选择其他子页面的主页面。到目前为止,我只在屏幕上显示用户名以测试会话的工作情况。
为了查看目的,我已更改为html。请按照链接查看错误...
答案 0 :(得分:3)
您的链接似乎毫无帮助。无论如何,我将介绍如何使用基本登录和会话。
login.html:应该在login.html页面中的表单。当您将敏感信息传递到另一个页面时,方法必须成为POST。另请注意输入字段的名称。
<form role="form" method="POST" action="login_result.php">
<label for="UID">UserID:</label>
<input class="form-control" type="text" name="UID" required>
<br>
<label for="pwd">Password:</label>
<input class="form-control" type="password" name="pwd" required><br>
<button class="btn btn-default" type="submit">Login</button>
</form>
login_result.php:这是进行验证的地方。
<?php $username = trim($_POST['UID']); //UID is the name of the username input field
$pass = trim($_POST['pwd']); //So is pwd
if(strcmp($username,"admin") === 0 && strcmp($pass,"admin") === 0 )
{
session_start(); //start session
$_SESSION['username'] = $username;
//store userdata for further use.
//My page is simple so it just stores the username
header("Location: note.php"); //redirect to your "success" page
}
else
{
//Wrong credentials
header("Location: login.html");
}?>
验证是基本的。我通常使用哈希,但现在这样做会很好
note.php:重复使用Session变量来显示用户名,
<h3>Welcome, <?php echo $_SESSION['username']; ?> </h3>
如果会话处于活动状态,您还必须检查每个页面,如果不是,则必须重定向到登录名,否则登录没有意义。
in_all_pages:在开头添加此内容,
<?php
session_start(); //start the session
if (!isset($_SESSION['username']) || empty($_SESSION['username']))
{
//redirect to the login
header("Location: login.html");
exit();
}
请记住破坏会话,如:
<强> logout.php:强>
<?php
session_start();
// Unset all of the session variables.
$_SESSION = array();
// If it's desired to kill the session, also delete the session cookie.
if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params();
setcookie(session_name(), '', time() - 42000,
$params["path"], $params["domain"],
$params["secure"], $params["httponly"]
);
}
// Finally, destroy the session.
session_destroy();
header("Location: login.html");
?>
答案 1 :(得分:0)
要使用PHP,文件必须具有.php扩展名。
说,要使用会话,你必须在每个php行的开头使用这个代码行:
curl -i localhost:25000/ping
HTTP/1.0 504 Gateway Time-out
Cache-Control: no-cache
Connection: close
Content-Type: text/html
<html><body><h1>504 Gateway Time-out</h1>
The server didn't respond in time.
</body></html>