-1
<?php
    session_start();

    if(isset($_SESSION['views']))
    $_SESSION['views']=$_SESSION['views']+1;

    else
    $_SESSION['views']=1;
    echo "Views=". $_SESSION['views'];
    echo '<br>'."<a href='destroy.php'>Set Counter1</a>";
    ?> 

上記のコードはカウンターを維持していました。ユーザーがページを更新するたびに、カウンターはインクリメントされます。私は同じ仕事をしたいのですが、javascriptを使っていますが、オンラインヘルプplzが見つかりません

4

3 に答える 3

1

ページを更新すると、JavaScriptが再度読み込まれ、ゼロから始まります。AJAX(phpスクリプトと組み合わせて)またはCookieを使用して、カウント数を永続化する必要があります。このページには、小さなチュートリアルがあります:http ://www.quirksmode.org/js/cookies.html

于 2012-05-04T09:32:10.507 に答える
1

まず、あなたが何を達成しようとしているのかを正確に把握する必要があります。JavaScriptはクライアントのブラウザで実行されるため、サーバー上で$_SESSIONを単独で変更することはできません。このカウンターをクライアント側だけに残したい場合は、JavaScriptでCookieを設定してみてください。別のオプションは、サーバーセッションにカウンターを保存し続け、AJAXを介してそれをインクリメントすることです。JavaScriptに依存して機能するものの問題は、クライアントが常にJavaScriptを無効にすることを選択できるため、信頼性が低いことです。おそらくより良いオプションは、カウンターをインクリメントするPHPスクリプトをターゲットとするiframeを埋め込むことです...

于 2012-05-04T09:36:54.590 に答える
0

JavaScriptは、更新後に変数を記憶できません。サーバーまたはクライアントコンピューターにカウントを保存する必要があります。
カウントをクライアントに保存する場合は、localstorageを使用して行うことができます。

window.onberforeunload=function(){
    localStorage.loads++;
    return true;
}

またはCookieの使用:

window.onbeforeunload=function(){
    document.cookie="NAME; VALUE; EXPIRE";
}

localstorageは、HTML5を使用する新しいブラウザでのみ機能することに注意してください。

于 2012-05-31T17:02:24.900 に答える