2017-04-18 53 views
-1

我想创建'喜欢'的计数器。Php like counter

目前我使用ajax与PHP和按钮单击在like.php我更新数据库中的计数和回声计数编号为jquery。

$('btn').on('click',function(){ 

    $.ajax({ 
     url: 'like.php', 
     type: 'post', 
     data: someData, 
     dataType: 'json', 
    }).done(function(response){ 

     //increase like shown on response 

    }).fail(function(jqXHR, textStatus, errorThrown) { 

    }); 

}); 

这将触发喜欢从客户端。


我想这样做在服务器端,而不是,等按钮来调用PHP文件:

实例(我把这个在我的页面):

<a href="like.php?id=45">like</a> 

然后在数据库中的like.php更新计数如上。

2个问题:

  1. 有可能是网址不改变,当我点击这个?

  2. 我怎么会回声像从like.php这样的计数? (因为我没有像第一个例子那样使用ajax来调用like.php)

+2

你的问题的答案是使用AJAX,就像你已经这样做了。你为什么试图不使用AJAX?这里解决的实际问题是什么? – David

+0

1.不,网址无论如何都会改变。 2.您可以使用值查询字符串(不建议)/ /或设置会话中的值(不建议)来重定向回当前页面。顺便说一句,如果你重定向回当前页面,默认情况下,你可以从数据库中取数并显示在当前页面中。因此不需要会话或查询字符串。而不是做所有这些,只需使用ajax。那将是最好的解决方案。 – siddiq

+2

问题:你能做些什么来阻止我通过我写过的php或其他任何工具调用这个链接,并且每秒运行1000次?你如何获得有效的数据(意味着让一个用户只投一次)?你的方法没有这个逻辑。 – JustOnUnderMillions

回答

0

第一个问题:根本不是! 但你可以使它成为一个提交按钮,并发布到相同的网址,这将不会改变网址,你可以通过提交数据...

你的第二个问题 - >你的like.php必须返回整个HTML与计数器值;)

cheerio :)