2011-10-18 6 views
1

ページ更新時に数値変数を自動インクリメントするためにPHPを使用するにはどうすればよいですか?リフレッシュ時のPHPの自動インクリメント数値変数

敵の例は、$i=10のためにこれの出力があります:

ページ<?php $i = 10; echo $i;?>回観覧されました。ページがユーザー負荷のページであればその5回を更新したときに

今私は$iをインクリメントしたい、数はあなたがおそらく$_SESSIONで、どこかにその状態を保存する必要があります5

答えて

6

によって増加します。

session_start(); 

$i = isset($_SESSION['i']) ? $_SESSION['i'] : 0; 

echo ++$i; 

$_SESSION['i'] = $i; 
+0

が、これは私のコードですが、それは動作しません戻って戻ります。

views <?php session_start(); $ _SESSION ['i'] = 100; $ i = isset($ _ SESSION ['i'])? $ _SESSION ['i']:0; echo ++ $ i; $ _SESSION ['i'] = $ i; ?>

enjoylife

+0

@enjoylie:応答本体の前に 'session_start()'を呼び出す必要があります。 – alex

+0

私はページをリフレッシュするとき、アンバーはauoインクリメントできません? – enjoylife

3

ファイル、データベース、Cookie、またはセッション変数のような場所にカウンタを格納する必要があります。

<?php 
    if (!isset($_COOKIE['visits'])) 
     $_COOKIE['visits'] = 0; 
    $visits = $_COOKIE['visits'] + 1; 
    setcookie('visits', $visits, time()+3600*24*365); 
?> 

<?php 
    if ($visits > 1) { 
     echo("This is visit number $visits."); 
    } else { // First visit 
     echo('Welcome to my Website! Click here for a tour!'); 
    } 
?> 
+0

クッキーまたはセッション変数にカウンタを保存したい場合はどうすればよいですか?このチュートリアルはありがとうございます – enjoylife

+0

クリフ、ページをリフレッシュすると、なぜ数字が増えないのですか? 1つ?ありがとう – enjoylife

1

それは同じユーザー・セッションのためだ場合、それ以外

session_start(); 
if (!isset($_SESSION['counter'])) $_SESSION['counter'] = 0; 
$_SESSION['counter']++; 

セッションを使用し、あなたはすべてのユーザーに対して同じカウントをしたい場合は、使用データベース

1

あなたは簡単にそれを行うことができますクッキーのヘルプ

$ cookieName = 'カウント';
$ count = isset($ _ COOKIE [$ cookieName])? $ _COOKIE [$ cookieName]: '';

$ newCount = $ count + 1;
setcookie($ cookieName、$ newCount);

$カウントが更新された値

関連する問題