-1

ページが実際にブラウザで開かれたか、スクリプトまたは src="xxx" から取得されたかを確認するにはどうすればよいですか?

<?php 
session_start();
if(!isset($_SESSION['count'])){
    $_SESSION['count']=0;
}

// I don't want to
// if(open in brower){
    $_SESSION['count']++;
// }
?>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
    $.ajax({
        url:'index.php',
        type:'GET',
        data:{},
        success:function(){}
    });
</script>
<?php 
    echo $_SESSION['count'] ; // the result now is 1,3,5,... for every reload
    // I want to get the result 1,2,3,4... for every reload , how to check the page is really open in brower? not run in ajax or get ?

?>
4

1 に答える 1

1

この特定の例に対する簡単な解決策は、いくつかのデータを ajax リクエストに渡し、セッション数を増やすためにデータが存在しないことを確認することです。

<?php 
session_start();
if(!isset($_SESSION['count'])){
    $_SESSION['count']=0;
}

if(!isset($_GET['dontcount'])){
    $_SESSION['count']++;
}
?>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
    $.ajax({
        url:'index.php',
        type:'GET',
        data:{'dontcount',1},
        success:function(){}
    });
</script>
<?php 
    echo $_SESSION['count'];

?>
于 2013-10-22T11:56:23.270 に答える