使用AJAX请求进行PHP计数

问题描述:

I'm trying to counting a SESSION variable, but i don't want that the user seeing any refreshes.

my problem with the code below is that, it change only ones and then its needed a refresh. How can i do this without any refreshes?

test page:

     <?php session_start(); ?>
            <script src="../../../common/js/jquery-1.11.2.min.js"></script>
        <script src="../../../common/js/jquery.touchwipe.min.js"></script>
    <?php
    if(empty($_SESSION['counter'])){
    $_SESSION['counter'] = 1;
    }
    $count = $_SESSION['counter'];


    ?>
    <div id="main"><?= $count; ?></div>
    <button id="detailed">Link</button>

    <script type="text/javascript">
        $(document).ready(function(){
            $(document).on('click','#detailed',function(){
                var count = "<?= $count ?>";
                count++;
                $.ajax({
                    type: "POST",
                    url: "test.php",
                    data: {countertje: count},
                    success:function(data){
                        $('#main').html(data);
                        console.log(data);
                    }

                });
            })

        });
    </script>

do_ajax.php

    <?php
    session_start();
    $_SESSION['counter'] = $_POST['countertje'];
    echo $_SESSION['counter'];
    ?>

我正在尝试计算一个SESSION变量,但我不希望用户看到任何刷新。

我对下面代码的问题是,它只改变了一个,然后需要刷新。 如何在没有任何刷新的情况下执行此操作? p>

 测试页:
 
&lt;?php session_start();  ?&gt; 
&lt; script src =“../../../ common / js / jquery-1.11.2.min.js”&gt;&lt; / script&gt; 
&lt; script src =“。  ./../../common/js/jquery.touchwipe.min.js"></script>
&lt;?php 
 if(empty($ _ SESSION ['counter'])){\  n $ _SESSION ['counter'] = 1; 
} 
 $ count = $ _SESSION ['counter']; 
 
 
?n&gt; 
&lt; div id =“main”&gt;&lt;  ?= $ count;  ?&gt;&lt; / div&gt; 
&lt; button id =“detailed”&gt;链接&lt; / button&gt; 
 
&lt; script type =“text / javascript”&gt; 
 $(document).ready(  function(){
 $(document).on('click','#detailed',function(){
 var count =“&lt;?= $ count?&gt;”; 
 count ++; 
 $  .ajax({
 type:“POST”,
 url:“test.php”,
 data:{countertje:count},
 success:function(data){
 $('#main')  .html(data); 
 console.log(data); 
} 
 
}); 
})
 
}); 
&lt; / script&gt; 
  code>  
 
 

do_ajax.php p>

 &lt;?php 
 session_start(); 
 $ _SESSION ['counter'] = $ _POST [  'countertje']; 
 echo $ _SESSION ['counter']; 
?&gt; 
  code>  pre> 
  div>

<script type="text/javascript">
        var count = "<?= $count ?>";
        $(document).ready(function(){
            $(document).on('click','#detailed',function(){
                count++;
                $.ajax({
                    type: "POST",
                    url: "test.php",
                    data: {countertje: count},
                    success:function(data){
                        $('#main').html(data);
                        console.log(data);
                    }

                });
            })

        });
    </script>

count should be a global variable

Something you could use in javascript

 var count = $('#main').val();

instead of following :

var count = "<?= $count ?>";

Writting PHP code inside javascript isnt good idea!