Html链接在后台调用Php函数[重复]
Posted
技术标签:
【中文标题】Html链接在后台调用Php函数[重复]【英文标题】:Html link calling a Php function in the background [duplicate] 【发布时间】:2015-06-20 05:04:44 【问题描述】:我想要一个简单的系统来存储链接被访问的次数。基本上,在点击时,我想调用一个函数,将存储在数据库中的点击次数加 1(使用 php)。一切都应该在后台发生。除此之外,它应该作为正常链接工作。
<a href="example.com" onclick="CALL PHP FUNCTION;">Link to example.com</a>
如何调用php函数?我认为这可以使用 Jquery 来实现。任何建议表示赞赏。
【问题讨论】:
我认为您需要使用 JS 对具有此功能的 php 页面进行 ajax 调用。不能直接链接到php函数。 给你:***.com/questions/20738329/… AND ***.com/questions/19323010/… 另外想想你可能需要做些什么来防止链接滥用(如果你在做广告,你会称之为点击欺诈)。 【参考方案1】:这将调用一个特定的 php 页面,然后该页面可以触发您的调用。在非常小的自己滚动类型的 PHP 站点中,我将构建一个 dispatcher.php,它除了调用函数之外什么都不做。请记住,由于 CORS,如果没有更强大的解决方案,您将无法调用站点外部的文件。
$("a").click(function()
$.ajax(
url: "local-php-link.php",
success: function(result)
alert('it worked')
);
);
【讨论】:
【参考方案2】:用 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 调用将不起作用,因为您单击了一个链接,并且默认情况下会创建一个链接来更改页面。
【讨论】:
以上是关于Html链接在后台调用Php函数[重复]的主要内容,如果未能解决你的问题,请参考以下文章