当您单击登录时,它应该会显示注销按钮。单击注销按钮应使其再次显示登录选项。目前,即使它创建了一个会话并在我的服务器中用正确的信息填充它,它也只是一直坐在登录窗口上。
我不确定为什么我的代码不起作用。我让它工作了,然后它突然停止了,我不确定我改变了什么。另外,我知道这没有使用数据库,我应该使用一个,但是分配调用不使用一个。
这是 index.php:
<?php
session_start();
if(empty($_SESSION['email']))
{
include("includes/login.php");
}
else
{
include("includes/logout.php");
}
?>
这是我的 login.php:
<form id="login" method="post" action="index.php">
<input name="email" type="email" placeholder="Email@rit.edu" required="required">
<input name="password" type="password" placeholder="Password" required="required">
<input class="button" name="submit" type="submit" value="Submit">
</form>
<?php
//if someone tries to log in
if (isset($_POST['email']) && isset($_POST['password']))
{
$email=($_POST['email']);
$password=sha1($_POST['password']);
$users = file('includes/users.php', FILE_IGNORE_NEW_LINES);
for($i=0;$i<count($users);$i++)
{
$user = explode(',', $users[$i]);
if($user[0] === $email && $user[1] === $password)
{
session_start();
$_SESSION['email']=$user[0];
$_SESSION['pass']=$user[1];
$_SESSION['name']="$user[2] $user[3]";
$_SESSION['admon']=$user[4];
}
}
}
?>
这是logout.php:
<form id="login" method="post" action="index.php">
<input name="logout" type="submit" value="logout" />
</form>
<?php
if($_POST['logout'] === 'logout')
{
session_destroy();
}
?>