ログインをクリックすると、ログアウトボタンが表示されます。ログアウト ボタンをクリックすると、ログイン オプションが再度表示されます。現在、セッションを作成してサーバーに適切な情報を入力しても、ログインウィンドウに表示されたままです。
コードが機能しない理由がわかりません。動作していましたが、突然停止し、何を変更したのかわかりません。また、これはデータベースを使用しておらず、データベースを使用する必要があることを認識していますが、割り当てではデータベースを使用しないように求められています。
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();
}
?>