私はログインフォームを作成しました。ユーザーがログインしているときは、ログインしているユーザーだけが利用できるページがあるため、セッションが開始されます。 すべてのユーザーデータはmysqlデータベースに保存されています。 mysqlデータベースに保存されている正しいメール/パスワードでログインしようとすると、ページはhjem.phpというファイルに戻ってきます。ログインしていないユーザーのフロントページになっています。エラーメッセージは表示されません。ログインセッションは意図したとおりに動作しません
PHPコードは、ログインフォームが配置されているページでは、このようになります - このファイルはのconfig.phpファイルは、データベースに接続されて
<?php
include("config.php");
session_start();
if($_SERVER["REQUEST_METHOD"] == "POST") {
$myemail = mysqli_real_escape_string($db,$_POST['email']);
$mypassword = mysqli_real_escape_string($db,$_POST['password']);
$sql = "SELECT * FROM users WHERE email = '$myemail' and password = '$mypassword'";
$result = mysqli_query($db,$sql);
$row = mysqli_fetch_array($result,MYSQLI_ASSOC);
$active = $row['active'];
$count = mysqli_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row
if($count == 1) {
$_SESSION['login_user'] = $myemail;
header("location: login-hjem.php");
}else {
$error = "Your Login Name or Password is invalid";
}} ?>
login_user.phpと呼ばれています。
ユーザーが正常にログインすると、login-hjem.phpと呼ばれるページにユーザーが誘導されます。このファイルには、スタートで、次のPHPコードを持っています
<?php
include('config.php');
session_start();
if(session_destroy()) {
header("Location: hjem.php");
}
?>
としては、** hjem.phpと呼ばれるファイル、開始時に言った:
<?php
include('session.php');
?>
ファイルは次のようになりますsession.phpと呼ばれます*はログインしていないユーザーのためのフロントページで、** dosnt ''にはPHPセッションが含まれています。これは単なるテスト目的のシステムなので、私はパスワードを保護する必要も暗号化する必要もありません。 私が間違ってやったことを助けてくれることを願っています。ありがとう
ありがとうございました。それは役に立ちます。ユーザーがログインしているページにログアウトボタンを実装すると 'session_destroy()'を呼び出せますか? – Elfernovich
はい@Elfernovich、 'session_destroy()'はログアウトボタンで呼び出す必要があります;) – D14n4