ユーザー名とパスワードに基づいて特定のページにユーザーをリダイレクトするこのphpスクリプトがあります。
ログインして自分のページにリダイレクトされたら、(たとえばホームページに移動して) 離れてから、再度クライアント ログインをクリックして自分のページに戻ると、既にログインしていることを示すメッセージがポップアップ表示されます。ここをクリックして表示します。あなたのページ。ログインしたユーザーのページにリダイレクトするにはどうすればよいですか?
理解できない場合は、私のサイトにアクセスして確認してください (ユーザー: tyler パス: ログイン情報は tyler) splitlinemedia.com
login.php
<?php
if(!defined("SESSION")){
session_start();
define("SESSION", true);
}
if(isset($_GET["log_out"])){
unset($_SESSION["logged_in"]);
header('refresh: 3; url=login.php');
echo "You're logged out, and will be redirected in about 3 seconds";
exit;
}
$login = true;
require "protect.php";
$logins[0]["user"] = "tyler";
$logins[0]["pass"] = "tyler";
$logins[0]["redirect"] = "test.php";
$logins[1]["user"] = "x";
$logins[1]["pass"] = "y";
$logins[1]["redirect"] = "z.php";
// No need to edit below, except the errors
if(isset($_POST['submit'])){ //is the form submitted?
if(empty($_POST['user']) || empty($_POST['pass'])){
echo "You have to fill out the user name and password!";
exit;
} //check for empty user name or password
$is_logged = false;
foreach($logins as $login){
$user = $_POST;
if(($user["user"] == $login["user"]) && ($user["pass"] == $login["pass"])) {
$is_logged = true;
$_SESSION["logged_in"] = array($login["redirect"], true);
header("Location: ".$login["redirect"]);
exit;
}
}
if(!$is_logged){ echo '<script type="text/javascript">alert("Inncorect username or password");window.history.go(-1);</script>'; }
}
?>
プロテクト.php
<?php
if(!defined("SESSION")){
session_start();
define("SESSION", true);
}
if((!isset($_SESSION["logged_in"])) || !$_SESSION["logged_in"][1]){
if(!isset($login)){
header("Location: login.php"); //check to see if logged in, otherwise go to the login
exit;
}
} else if (isset($login) || isset($index)){
echo "Your already logged in!! <a href='login.php?log_out'>Click here</a>, to logout. Or, go back to your <a href='{$_SESSION['logged_in'][0]}'>page</a>.";
exit;
}
?>
次に、これは私のtest.phpページの上部にあります
<?php
include("protect.php");
?>