Я пытаюсь создать счетчик кликов, который при каждой загрузке увеличивается. Я хочу использовать его без базы данных, это код:Button click counter
<?php
$counterFile = 'counter.txt' ;
// jQuery ajax request is sent here
if (isset($_GET['increase']))
{
if (($counter = @file_get_contents($counterFile)) === false) die('Error : file counter does not exist') ;
file_put_contents($counterFile,++$counter) ;
echo $counter ;
return false ;
}
if (! $counter = @file_get_contents($counterFile))
{
if (! $myfile = fopen($counterFile,'w'))
die('Unable to create counter file !!') ;
chmod($counterFile,0644);
file_put_contents($counterFile,0) ;
}
?>
<script type="text/javascript">
jQuery(document).on('click','a#download',function(){
jQuery('div#counter').html('Loading...') ;
var ajax = jQuery.ajax({
method : 'get',
url : '/test.php', // Link to this page
data : { 'increase' : '1' }
}) ;
ajax.done(function(data){
jQuery('div#counter').html(data) ;
}) ;
ajax.fail(function(data){
alert('ajax fail : url of ajax request is not reachable') ;
}) ;
}) ;
</script>
<div id="counter"><?php echo $counter ; ?></div>
<a href="<?php echo get_field("pdf"); ?>" id="download" onclick="window.open(this.href);return false;">Download btn</a>
Проблемы заключается в том, что, когда я нажимаю на Download btn
Ф открываются, но номер пропадает, и если я перезагрузить страницу всегда остается на 0
. Любая идея, где и в чем проблема?
Я помню этот кусок кода. Вы получили это от http://stackoverflow.com/a/26892053/ в своем другом вопросе. Используя этот код, вы должны принять ответ или перенести его. Я запустил этот код orignal, и он не всегда оставался на '0', но фактически увеличивал стоимость. Я действительно помог в этом ответе, чтобы указать на ошибки, но никаких дальнейших комментариев с вашей стороны не было. –
Я не подразумевал, что вы сделали код и назвали его своим. Вы должны были разместить комментарий под ответом человека, чтобы этот человек знал, почему он не работает, вместо того, чтобы публиковать новый вопрос с помощью кода. –
Для начала вам необходимо остановить исходную ссылку. 'return false;' в конце обработчика кликов. –