この質問を念頭に置いてください。私はインターネット上にこのような質問がたくさんあることを知っていますが、それらのどれも私のためにトリックをしていないようです:(
だから私はウェブサイト上にadminpanelを作ることを計画しています。ログイン画面から入力し、名前とパスが正しければセッションが行われます。他の管理ページでは、このセッションが設定されているかどうかをテストします。これにより、ユーザーがページにアクセスできるかどうかがわかります。
Inlog.php(簡略化)
<?php session_start(); ?> <html ...
その後、多くのコントロールの後
if ($adminpwd == $pass) {
session_regenerate_id();
$_SESSION["mysessionname"] = $name;
$tijd = date('H:i:s', strtotime('+ 30 minutes'));
$_SESSION["E4A_einde"] = $tijd;
session_write_close();
echo "<script type='text/javascript'>window.location = 'myotheradminpage'</script>";
}
私の他のphpページにはこのスクリプトが含まれています
<?php session_start();
if (!isset($_SESSION["mysessionname"])) {
session_destroy();
echo '<SCRIPT LANGUAGE="JavaScript"> window.alert("no session found") </SCRIPT>';
echo "<script type='text/javascript'>window.location = 'myloginpage'</script>";
}
この要素を使用すると、セッションが設定されていない場合はリダイレクトが発生し、セッションが設定されている場合は、phpページの他のコードがトリガーされます。
しかし、実際には、毎回ログインページにリダイレクトされます。だから私のセッションは設定されていません:s理由がわからないので助けてください。
session_start()メソッドを追加するために、すべてのページで多くのシンを試しました。セッションを設定する前にセッションIDを再生成しようとしましたが、何も機能しません。