3

ユーザーが間違った情報を入力した場合、試行ページにリダイレクトしようとしています...一方、試行ページが更新された場合、ログインページにリダイレクトしたい...そのためにセッションを使用しています...

if (isset($c))
{
    $q = mysql_query("select * from registeration where email='$a' and password='$b'");
    $r = mysql_num_rows($q);

    if($r)
    {
        $_SESSION["Authenticated"] = 1;
        $_SESSION['id'] = $a;
    }
    else
    {
        $_SESSION["Authenticated"] = 0;
        $_SESSION["att"] = 1;
    }

    if(isset($_SESSION["att"]))
    {
        header("location:attempt1.php");
    }
    else
    {
        session_write_close();
        header('location:profile.php');
    }
}

上記のコードは試行 1.php でリダイレクトされますが、試行 1.php のコードは index.php にリダイレクトされます

session_start();
if (!isset($_SESSION["att"]))
{
    echo "<meta http-equiv=\"refresh\" content=\"0; url=index.php\">";
}

私は、セッションが設定されていない場合、index.php のユーザーに Attempt1.php コードをリダイレクトする必要があります..そして、更新または直接ページの読み込み時にセッションを破棄します.このページへの直接アクセスがインデックス ページへのリダイレクトになるように、友達を助けてください. .

ANSWER ANSWER ANSWER 私が尋ねたすべての質問に答えてください私はばかげた間違いをしました...ここでこの質問では、セッション変数を保存するためにセッションを開始していませんでした....ログインスクリプトの最初の行に以下のコードを追加してください

session_start();
4

3 に答える 3

8
//try this code  
<?php 
session_start();
  if (!isset($_SESSION["att"]))
   {
      header("location: index.php");
   }
?>
于 2013-10-16T12:46:27.347 に答える
4

セッションが存在しない場合はリダイレクトするように求めていると思います.セッションにはIDが必要なので、それを確認できるはずです:

if(!(session_id()) header("Location: /mypage.php");
于 2013-10-16T12:44:44.743 に答える
2

これを試して:

if(empty($_SESSION))
{
  header("Location: /mypage.php");
}
else
{
    // do something ....
}

- ありがとう

于 2013-10-17T11:58:56.350 に答える