dongsi5381 2018-05-22 12:04
浏览 69

PHP在页面加载和页面保留时获得UNIX时间戳

I have couple of html pages and I would like to save on a text file when the user entered and left every page in a UNIX format with PHP.

if(isset($_POST['submit'])){

$t=time();
$myfile1 = fopen("temp/time.txt", "w");
fwrite($myfile1, $t);

header("Location: main2.html");
  }

The code works to get the timestamp when the user entered but is there a way to get one when they left?

Thank you in advance!

  • 写回答

1条回答 默认 最新

  • dsuw85815 2018-05-22 12:14
    关注

    You can't use PHP because PHP is server-side and the unload event is client-side.

    To do that, you can use Javascript to call another PHP page with Ajax and, in the code of this other page, record your timestamp.

    Something like this (using jQuery) :

    $(window).unload(function(){
        $.ajax({
            type: 'GET',
            url: '/your_url.php',
            async:false
        }).done(function(data) {                
            console.log('complete');
        });
    });
    

    However, as mentioned in comments, the header function in your PHP file will redirect the user instantly. In this case, the javascript way is not a solution.

    If I'm right, you used the header function because you use HTML pages and not PHP. Your PHP is like a middleware before the HTML page. In this case, you can use the Javascript explained above for the load event too.

    评论

报告相同问题?