0

私はこの単純なヒットカウンターをインターネットから入手しましたが、それはまさに私が必要としていたものです:

<?PHP session_start();
    if(isset($_SESSION['views'])){
        $_SESSION['views']=$_SESSION['views']+1;
        }
        else{
        $_SESSION['views']=1;
        }
        echo "Total page views= ".$_SESSION['views'];
?>

だから私はhome.html言うまでもなく私のホームページにそれを投げました。ただし、ビューを自分のinfo.htmlページに印刷したいのですが、のヒットを表示したいのですhome.html。それが可能かどうか誰にもわかりますか?

4

2 に答える 2

1

まず、PHP をサーバーでコンパイルする必要がある場合.phpは、ページを拡張機能に変更する必要があります。.html

必要なものを実現する方法はいくつかあると思いますが、最初に知っておくべき php セッションに関するいくつかのことを指摘します。

  1. session_start();セッション変数は、関数が最初に呼び出されれば、サイトのどのページからでも利用できます。

  2. セッションは基本的に一時ストレージです。簡単に言えば、一意の ID を含む Cookie がユーザーのコンピューターに保存されます。一意の ID は、サーバーに (一時的に) 保存されているセッション情報への参照です。

完全な情報については、 php.netをチェックしてください

セッションは一時ストレージであり、ユーザーに固有であるため、自分以外のユーザーがホームページにアクセスしたユーザーを表示することはできません。これを実現するには、グローバルで永続的なストレージ (つまり、DB またはファイル) を持つソリューションを作成する必要があります。

ここで、あなたが尋ねたことに対する解決策を示します。文脈がよくわからなかったので、制約を説明しようと思いました。

それでは、以下のコードをhome.phpに含めてください。

<?php 
    session_start();
    if(isset($_SESSION['views'])){
        $_SESSION['views']++;
    } else{
        $_SESSION['views']=1;
    }
?>

これは、機能を削除したことを除いて、あなたが持っていたものとまったく同じですecho

info.phpページに以下を追加します

<?php 
    session_start();
    if(isset($_SESSION['views'])){
        echo $_SESSION['views'];
    }
?>

これにより、ユーザーがhome.phpを閲覧した回数が表示されます。

于 2013-10-04T01:21:07.723 に答える
0

これをhome.htmlに入れます

<?PHP session_start();
if(isset($_SESSION['views'])){
    $_SESSION['views']=$_SESSION['views']+1;
    }
    else{
    $_SESSION['views']=1;
    }

?>

これはあなたのinfo.htmlにあります

<?PHP session_start();
if(isset($_SESSION['views'])){
    echo "Total page views= ".$_SESSION['views'];
} else {
    echo "no page views to show";
}

?>

ただし、これは 1 人のユーザーの訪問のみをカウントし、セッションは 1 人 (デバイス) ごとであり、共有されていないことがわかります。そして、その人は自分のカウントしか見ることができません。セッションが期限切れになるまで。

これを機能させるには、home.html を home.php に変換する必要があります。またはphpとして解析するようにhtmlファイルを設定します

于 2013-10-04T01:13:35.133 に答える