2017-02-14 12 views
3

私のウェブページが「リフレッシュ」された回数をカウントしたいと思います。その後、リフレッシュ回数とともにページにメッセージを表示します。ウェブページのリフレッシュカウンタを作成しようとしています

たとえば、最初のリフレッシュでは、次の文が表示されます(「1リフレッシュ、継続する」など)。文章は、リフレッシュ回数とともに変化し続けます。少なくとも10文まで印刷する必要があります。

最初は、文章を配列に入れた後、クッキーを使用してリフレッシュ回数をカウントし、リフレッシュ回数に応じて対応する文を表示すると考えました。
しかし、クッキーは、整数ではなく文字列を格納するため、問題があります。私は​​とparseInt()の機能を使ってみましたが、うまく動作していないようで、何らかの理由でJavaScriptを使って私のウェブページ全体が壊れてしまいました。

私はPHPでセッションを使うことを考えました。彼らはまた、私がクライアント側で何かをやっているのが好きではないため、最初のアプローチと私のようなものでうまく見えました。しかし、彼らはまた働かないし、自分のウェブページ上に私のプリントステートメントの半分を得る。カウンターなし、何もない。

私は以前の質問を読んでいます。
私はクッキーを試しました。
セッションを試しました。

カウンターのための私のPHPファイル -

<?PHP 
session_start(); 

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

マイindex.htmlファイルがcounter.phpという名前の別のファイルに格納されている上記のスクリプトを実行するために、最後にこのスクリプトが含まれています。

<?php 
echo "<hr><div align=\"center\">"; 
    include_once "counter.php"; // this will include the counter. 
echo "</div>"; 
?> 

しかし、私は私のページをロードするとき、私は唯一の下部に"; include_once "counter.php"; // this will include the counter. echo ""; ?>を取得します。

どのような解決策も歓迎です。クッキーやセッションなど何でも。私はこのことを実行して実行する必要があります。

PS-非常に申し訳ありませんが、私は2月15日までの機密それを維持する必要があるように私は本当に2017年

+4

PHPは '.html'拡張で実行されません。 'index.html'を' index.php'に変更して確認してください。また、 '<?php session_start();?>'を 'index.php'の上に追加して、セッションデータ –

答えて

1

あなたはまだあなたがクッキー、あるいはのlocalStorageやのsessionStorageを使用して必要とするものを達成することができます。ページが読み込まれたときに値をインクリメントする前に、ページの読み込み時に値を取得して表示するだけで済みます。私はあなたがクッキーのプラグインを使用していると仮定

--- cookies.js

編集のような利用できるクッキープラグインがたくさんある

<h1></h1> 
<button>Refresh</button> 
var refreshes = parseInt(sessionStorage.getItem('refreshes'), 10) || 0; 
$('h1').text('Refreshed ' + refreshes + ' time(s)'); 

$('button').click(function() { 
    sessionStorage.setItem('refreshes', ++refreshes); 
    window.location.reload(); 
}) 

Example fiddle

+0

問題があります。私はサイトが閉鎖されたときにカウンターを休ませたい。 'localStorage'はブラウザを再起動してもカウンタ値を保存します。すべての修正? – YaddyVirus

+0

Yep - その場合、 'localStorage'を' sessionStorage'に置き換えてください。構文はそれ以外は同一です。私はあなたの答えを更新した –

+0

私は別のファイルにjsをコピーし、ちょうどフィドルのように見出しを追加しましたが、何も私のページに表示されません(私はスクリプトsrcでjsをリンクしました) – YaddyVirus

2

PHPが.html拡張子で実行するつもりはない、私のWebページへのリンクを提供することはできません。

それがセッションを表示することができるようにindex.phpの上に<?php session_start();?>を追加2.Also index.php

1.So変更index.html(いくつかの回避策.htaccesまたはURL-rewritingを介して行われるまで)データ。

注: -これら2つの変更を行った後、一度確認してください。連続したページ更新の

スクリーンショット: -

http://i.share.pho.to/f2e45784_o.png

http://i.share.pho.to/56be5f13_o.png

http://i.share.pho.to/f68d550e_o.png

+0

No Anantを表示できるようにしてください。拡張子を変更することは、私がやった最初のことです – YaddyVirus

+0

それは私の最後に完全に正常に動作しています –

+0

それは奇妙です...再確認しましょう – YaddyVirus

1

使用クッキー:これを試してみてください..私は使用しましたhttps://github.com/js-cookie/js-cookie

JSコードこのため---

$(function() { 
    RefreshCode(); 
}) 

function RefreshCode() 
{ 
    var counter = Cookies.get('counter'); 
    if (!counter) { 
     Cookies.set('counter', 1); 
    } else { 
     counter++; 
     Cookies.remove('counter'); 
     Cookies.set('counter', counter); 
    } 
    console.log(Cookies.get('counter')); 
} 

これは完全にあなたの参照のための例を働いている....このため

HTMLコード---

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <title></title> 
</head> 
<body> 

    <script src="jquery-3.1.1.min.js"></script> 
    <script src="js.cookie.js"></script> 
    <script src="CustomCounter.js"></script> 
</body> 
</html> 

・ホープこのヘルプ...

+0

私はクッキー、jsを試しました。それは私の目的を果たしていませんでした – YaddyVirus

+0

あなたはそれをどのように使用しましたか..あなたが働かなければならないあなたのコードを共有してください.. – user7417866

+0

クッキーを使用してこれを達成するための私の編集を参照してください...これは完全に動作しています – user7417866

関連する問題