2015-04-14 41 views
0

我想要一个简单的系统来存储链接访问的次数。基本上,单击我想调用一个函数,使存储在数据库中的点击次数增加1(使用php)。一切都应该在后台进行。除此之外,它应该作为一个正常的联系。Html链接在后台调用Php函数

<a href="example.com" onclick="CALL PHP FUNCTION;">Link to example.com</a> 

如何调用php函数?我认为这可以通过使用Jquery来实现。任何意见赞赏。

+0

我认为你需要用JS对ajax进行调用,才能实现这个功能。你不能直接链接到PHP功能。 –

+0

这里你去:http://stackoverflow.com/questions/20738329/how-to-call-a-php-function-on-the-click-of-a-button和http://stackoverflow.com/questions/19323010 /执行php功能与onclick –

+0

也想想你可能需要做的,以防止链接滥用(如果你在广告中,你会称之为点击欺诈)。 – yakatz

回答

6

这将调用一个特定的PHP页面,然后可以触发您的电话。在非常小的自定义类型的PHP网站中,我将构建一个dispatcher.php,它除了调用函数外什么都不做。请记住,由于CORS,如果没有更强大的解决方案,您将无法在网站之外调用文件。

$("a").click(function(){ 
    $.ajax({ 
     url: "local-php-link.php", 
     success: function(result){ 
      alert('it worked') 
     } 
    }); 
}); 
0

与JS这样做似乎有点棘手,你要在后台执行的PHP代码,所以,假设你想通过你的DNS my-website.com访问example.com。你可以只是做如下:

<a href="my-website.com/redirect.php?q=example.com"></a> 

,然后在你的页面redirect.php

<?php 
    //my code doing my stuff to increment the thing 

    header('Location:' + $_GET['q']); 

我现在会解释为什么它会好得多。 在JS中,将调用事件onclick,但Ajax将阻止该进程,从而给用户感觉他的点击没有奏效。另外,在某些情况下,Ajax调用将不起作用,因为您单击了一个链接,并且默认情况下会进行链接以更改页面。