0

質問があります。私のウェブサイトのイントロであるindex.phpページがあります。イントロが開始および終了すると、home.phpページにリダイレクトされますが、このイントロページをユーザーが1回だけ表示するようにします。コンピューターでは、ユーザーが既にイントロページにアクセスしている場合は、index.php(イントロ)ページに移動せずに、リダイレクトでホームページに送信されます。PHPでそれを達成するにはどうすればよいですか?

4

4 に答える 4

1
index.php

if(isset($_COOKIE['visit'])){
header("Location:home.php");
}

Your Intro

setCookie("visit","1",time()+60*60*7*12);
于 2012-06-16T09:42:36.840 に答える
0

ユーザーにCookieを送信して、ユーザーが戻ってきたときにそのCookieを認識できるようにすることができます。Cookieの設定は適切ではなく、ユーザーがCookieを削除する可能性があります。

于 2012-06-16T09:40:28.167 に答える
0

たぶん、ユーザーが最初にホームページにアクセスしたときにCookieを設定してみることができます。そうすれば、次にユーザーがサイトにアクセスしたときに、イントロが再生される前にCookieを探すことができます。

PHPでCookieを設定する方法

于 2012-06-16T09:42:29.610 に答える
0

これを行う100%の方法はありません。現在のユーザー(たとえば、このサイトにアクセスしたことがあるユーザー)のデータを使用$_SESSIONまたは$_COOKIE保存できますが、別のブラウザーでサイトを開くと、ユーザーは再びイントロを表示します。ユーザーはCookieをクリアすることもできるので、ユーザーは再びイントロを見ることができます。

サイトにメンバーシップが実装されていて、ユーザーがログインしたままでいる場合は、この情報をデータベース(または他のデータソース)に保存できるため、ユーザーにはイントロが表示されません(ログアウトしない限り)。

セッションを使用して現在のユーザーの情報を保存する例(メンバーシップなどは必要ありません。サイトにアクセスするすべてのユーザーのデータが保存されるため、機能します)。

<?php
    // index.php
    // if you prefer to use cookies instead of sessions
    // then replace $_SESSION with $_COOKIE
    $hasVisited = ($_SESSION['hasVisited'] === true);
    if($hasVisited) {
        header("Location: home.php");
        die();
    }

    // here you show your intro

    // user has visited this site, so:
    $_SESSION['hasVisited'] = true;
?>

Cookieとセッションの違いの説明:Cookieとセッション

于 2012-06-16T09:48:14.263 に答える