ユーザーが正常に認証されると、ユーザーがトレーニングに登録していない場合、register.phpにリダイレクトされます。私は注目しています:未定義のインデックス:セッションを使用してログインしました
ユーザーが既にトレーニングに登録している場合、彼はトレーニングクラスを表示/変更するためにregistered.phpにリダイレクトされます。
これまでのところ、これは問題なく動作します。
問題点ユーザーがregister.phpまたはregistered.phpに直接アクセスしようとすると、まずログインせずにいずれのWebページにもアクセスできません。
これは私が予防しようとしているものですが、私は次のエラーメッセージ取得しておく:ここ
Notice: Undefined index: loggedin in .... on line 3
Please log in first to see this page
は、私はこれまで、あなたの助けに感謝します使用していますものです。 login.phpで
//login.php
$user = trim($_POST['user']);
$pass = trim($_POST['pass']);
// hash to sanitize the input further
$pass = md5($pass);
$tSQL = "SELECT u.empl_first, u.username FROM users u inner join Training t on u.Employee_Id = t.Employee_ID WHERE USERNAME = ?
and PASSWORD = ? ";
$params = array($user, $pass, $params);
$sqll = sqlsrv_query($con, $tSQL);
if ($objResult = sqlsrv_fetch_array($sqll, SQLSRV_FETCH_ASSOC)) {
$firstname = $objResult["empl_first"];
$_SESSION["firstname"] = $objResult["empl_first"];
$_SESSION['loggedin'] = true;
$_SESSION['username'] = $user;
header('location:registered.php');
}
else
header("location:register.php?user='".ms_escape_string($user)."'&pass='".ms_escape_string($pass)."' ");
sqlsrv_close($con);
?>
//register.php
<?php
session_start();
if (!isset($_SESSION['loggedin']) && $_SESSION['loggedin'] != true) {
echo "Please log in first to see this page";
}
このコード行に 'if(!isset($ logged SESSION ['loggedin'])&& $ _SESSION ['loggedin']!= true)' ....を見て、ログインページの '未定義インデックスエラー' – RiggsFolly
も削除してセッションを開始します。 –
@RiggsFolly、それは素晴らしいコードです。私はまだ同じエラーが発生しています。 ところで、はい、私はsession_start()を持っています。ページの一番上に表示されます。これを理解するためにはエラーがなぜ重要なのかを理解する。 ありがとうもう一度 – Tairoc