私は PHP フレームワークを使用して多くの作業を行っていますが、単純なログイン システムをゼロから構築していて、困惑しています。データベースクエリに PDO を使用しています。$_SERVER['PHP_SELF'] を使用して同じページを指す単純なログイン フォームがあります。それから私はこのコードを持っています...
<?php
//LOG IN
if($_POST['login_submit']){
$username = $_POST['username'];
$password = $_POST['password'];
//Query
$database->query("SELECT * FROM users WHERE username = :username AND password = :password");
$database->bind(':username',$username);
$database->bind(':password',$password);
$rows = $database->resultset();
$count = count($rows);
if($count > 0){
session_start();
//Assign session variables
$_SESSION['username'] = $username;
$_SESSION['password'] = $password;
$_SESSION['logged_in'] = 1;
} else {
$login_msg[] = 'Sorry, that login does not work';
}
}
ログインすると、問題ありません。セッションを開始します。しかし、別のページに移動するとすぐにセッションが中断されます。session_start() が if($_POST['login_submit']) 状態にある可能性があると思われます。しかし、私は以前にこのようにやったことがあると断言できます。どんな助けでも素晴らしいでしょう..ありがとう!