ユーザーがまだログインしているかどうかを確認する if/else ステートメントが好きです。それ以外の場合は、ログインする必要があることを示すメッセージが表示されます。今、私がelseステートメントに持っているのはmysqliコードで、クエリを実行して、ログインしたユーザーに属し、が であるテーブル内の行Session_Complete
を削除します。現在、これは機能しません。これは明らかにセッションの有効期限が切れているため、教師がログインしていないことを意味するため、セッションの有効期限が切れたときに詳細が破棄され、どの教師がログに記録されているかを認識できないため、クエリ行を削除できません。Session
TeacherId
Session_Complete
0
だから私の質問は、セッションの期限切れのためにユーザーがログアウトした場合にqwntクエリが実行されるという同じ問題に誰かが取り組もうとしている場合、セッションの直前にそれを行うにはどうすればよいでしょうかユーザーがTeacherId, $userid
ログインする必要があるというメッセージを表示しながら、それをクエリで使用できますか?
以下は、現在の if/else ステートメントです。
if ((isset($username)) && (isset($userid))){ //checks the logged in teacher's username and userid
//whole page code here
}else{
echo "Please Login to Access this Page | <a href='./teacherlogin.php'>Login</a>";
$incomplete = 0;
$deletesession = " DELETE session, session_complete FROM Session AS session
LEFT JOIN Session_Complete AS session_complete
ON session_complete.SessionId = session.SessionId
WHERE (session.TeacherId = ? AND Complete = ?) ";
if (!$delete = $mysqli->prepare($deletesession)) {
// Handle errors with prepare operation here
}
//Dont pass data directly to bind_param store it in a variable
$delete->bind_param("ii",$userid, $incomplete);
$delete->execute();
if ($delete->errno) {
// Handle query error here
}
$delete->close();
}
?>