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函数[重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用html调用/使用php函数[重复]

来自html的Php参数化函数调用[重复]

按钮不应该调用php函数[重复]

致命错误:未捕获的错误:调用成员函数 find() PHP simple_html_dom_parser [重复]

PHP - 函数[重复]

无法从 Javascript 调用 PHP 函数 [重复]