私はPHPが初めてで、セッションに関してはさらに初心者です。ユーザーが登録してログインできる index.php ページがあります。フォームは、登録およびログインのために、それぞれ validate.php および loginvalidate.php ページに投稿されます。
index.php をロードすると、これらのエラーが発生します。
1) 注意: 未定義のインデックス: 登録済み 2) 注意: 未定義のインデックス: 未使用
テキストをさまざまな方法で変更しようとしましたが、エラーを解決できませんでした。
インデックス.php
<?php
if ($_SESSION['registered'] != NULL){
echo $_SESSION['registered'];
}
if ($_SESSION['badlogin'] != NULL){
echo $_SESSION['badlogin'];
}
if ($_SESSION['neverused'] != NULL) {
echo $_SESSION['neverused'];
}
?>
Validate.php (登録フォームの送信後)
if (mysqli_num_rows($result) > 0) { //IF THERE IS A PASSWORD FOR THAT EMAIL IN DATABASE
$_SESSION['registered'] = "Email is already registered.";
mysqli_close($db_handle);
header('Location: index.php');
exit();
}
Loginvalidate.php (ログインフォーム送信後)
if ($numrows!=0) //IF THERE IS A PASSWORD FOR THAT EMAIL IN THE DATABASE
{
if ($row['password'] == $password) { //IF THE PASSWORD MATCHES USER INPUT
header('Location: homepage.php');
echo "lol";
exit();
}
else{
$_SESSION['badlogin'] = "Email/password combination not valid.";
mysqli_close($db_handle);
header('Location: index.php');
exit();
}
}
else { //THERE IS NO PASSWORD FOR THAT EMAIL, SO THAT EMAIL IS NOT REGISTERED
$_SESSION['neverused'] = "Email is not registered.";
mysqli_close($db_handle);
header('Location: index.php');
exit();
}
さて、私のスクリプトは意図したとおりに動作します。私が解決できないのは、これらのセッション エラーだけです。セッションの誤用は見られますか? もちろん、すべての .php ファイルでセッションを開始しました。
また、ハッカーからの保護がないことを認識していることに注意してください。これは、重要なデータを含まない将来のプロトタイプ用です。