これが機能しない理由はわかりませんが、以下のコードで言いたいのは、ユーザーがログインしていないif ((!isset($username)) && (!isset($userid))){
場合はフォームを表示し、ログインしている場合はログアウトする必要があることを示すメッセージを表示することですページを表示します。
問題は、ユーザーがログインしていても、メッセージではなくフォームが表示されることです。
以下はコードです:
<?php
ini_set('display_errors',1);
error_reporting(E_ALL);
session_start();
include('member.php');
$user = (isset($_POST['user'])) ? $_POST['user'] : '';
$email = (isset($_POST['email'])) ? $_POST['email'] : '';
if ((!isset($username)) && (!isset($userid))){
echo "<form action='./forgotpass.php' method='post'>
<table>
<tr>
<td></td>
<td id='errormsg'>$errormsg</td>
</tr>
<tr>
<td>Username</td>
<td><input type='text' name='user' /></td>
</tr>
<tr>
<td>Email</td>
<td><input type='text' name='email' /></td>
</tr>
<tr>
<td></td>
<td><input type='submit' name='resetbtn' value='Reset Password' /></td>
</tr>
</table>
</form>";
}
else
{
echo "Please Logout to view this Page.";
}
?>
上記のコードの上にmember.phpページを含めていますが、これが大きな違いを生むかどうかはわかりませんが、member.phpページのコードは次のとおりです。
<?php
if (isset($_SESSION['teacherforename'])) {
$_SESSION['teacherforename'] = $_SESSION['teacherforename'];
}
if (isset($_SESSION['teachersurname'])) {
$_SESSION['teachersurname'] = $_SESSION['teachersurname'];
}
if (isset($_SESSION['teacherid'])) {
$userid = $_SESSION['teacherid'];
}
if (isset($_SESSION['teacherusername'])) {
$username = $_SESSION['teacherusername'];
}
?>