Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
单击php函数,然后重定向_Php_Javascript_Html - Fatal编程技术网

单击php函数,然后重定向

单击php函数,然后重定向,php,javascript,html,Php,Javascript,Html,我有一个网页的链接,去pdf的我想跟踪哪些链接正在被点击。我想我可以做如下的事情,但我有问题: <? function track($link) { $sql = "UPDATE database WHERE something = 'something'; $db = new connection(); $result = $db->query($sql); if($result){

我有一个网页的链接,去pdf的我想跟踪哪些链接正在被点击。我想我可以做如下的事情,但我有问题:

<?
    function track($link)
    {
    $sql = "UPDATE database WHERE something = 'something';
    $db = new connection();
    $result = $db->query($sql);

    if($result){                 
                  header( 'Location: http://mywebsite/docs/. $link .' ) ;
                }
    }
?>

尝试使用href属性,而不是用于javascript的onClick()

如果您将javascript(客户端站点)与PHP(服务器站点)混合使用,将无法工作

看起来像要计算PDF点击次数(递送)——考虑其他方式:

  • 检查访问日志并计数
  • 如果您的PDF是通过脚本创建的,请在创建之前进行更新
  • 执行AJAX请求onclick,它将更新您的数据库

在“something”之后缺少双引号。在呈现页面后,您无法调用类似的php函数。使用ajax或GET/POST到您的php脚本

正如其他人所提到的,您正在混合客户端代码(浏览器代码)和服务器端代码(php)。您需要将html更改为

<a href="redirector.php?file=my_file_.pdf">File Name</a>

然后需要创建一个php脚本来处理请求。例如,redirector.php可能如下所示:

<?php
function track($link) {
    $sql = "UPDATE database WHERE something = 'something'";
    $db = new connection();
    $result = $db->query($sql);
    if ($result) {
        header('Location: http://mywebsite/docs/' . $link);
        exit;
    }
}

if (isset($_GET['file'])) {
     track($_GET['file']);
}

您应该尝试使用jquery ajax

<a onClick="track('my_file_.pdf')">File Name</a>


<script>
function track(link)
{
$.ajax({
  url: "update.php?link="+link,
  success: function(data){
    if(data=="DONE")
    {
        window.location="http://mywebsite/docs/"+link;
    }

  }
});
}
</script>
文件名
功能跟踪(链接)
{
$.ajax({
url:“update.php?link=“+link,
成功:功能(数据){
如果(数据==“完成”)
{
window.location=”http://mywebsite/docs/“+链接;
}
}
});
}
在update.php中

<?php

$link=$_GET['link'];
 $sql = "UPDATE database WHERE something = 'something'";
    $db = new connection();
    $result = $db->query($sql);

    if($result){ 
        echo "DONE";
    }

?>

<?php

$link=$_GET['link'];
 $sql = "UPDATE database WHERE something = 'something'";
    $db = new connection();
    $result = $db->query($sql);

    if($result){ 
        echo "DONE";
    }

?>