javascript - 当 mailto : or tel: links are clicked 时触发 INSERT 查询

标签 javascript php mobile mysqli

我有一个围绕移动功能设计的 php 页面,它从搜索条件加载信息,信息收集在页面上,然后当页面打开时,该信息会自动发布到数据库以记录访问并完美运行,这是代码:

$mysqli = new mysqli($servername, $username, $password, $dbname);
$stmt = $mysqli->prepare("INSERT INTO `analytics_scans` (`ip_address`, `property_id`, `address`, `town`, `agent_name`, `office`) VALUES (?,?,?,?,?,?)");
$stmt->bind_param('sissss', $_SERVER['REMOTE_ADDR'], $id, $address, $town,     $agent, $office);
$stmt->execute();

此页面上有 3 个“按钮/图像”调用、邮件和共享,我想要做的是将这些事件记录到 3 个单独的表中,与上面的代码完全相同,而无需离开页面,我无法重新加载它,因为它将记录进一步的页面访问。 我无法复制显示的表格并指向其他表格,因为这是它必须记录的点击。

理想情况下,类似 onClick 函数的解决方案将是解决方案,但我确信如果不离开页面,这是不可能的。

感谢任何帮助。

最佳答案

您可以使用 Ajax(例如 jQuery)。

示例:

<a href="mailto:xxx@xxx.de" onclick="return javascript:log('mail_clicked');">Write email</a>
<a href="#" onclick="return javascript:log('share_clicked');">Share</a>

在 jQuery 中:

function log(action) {
    $.get('./log.php?action=' + action);
    return true;
}
<小时/>

在log.php中:

<?php

$db = new MySQLi(...);
if($_GET['action'] == "mail_clicked")
    $db->query("INSERT INTO `mail_clicked` ...");
else if($_GET['action'] == "share_clicked")
    $db->query("INSERT INTO `share_clicked` ...");

?>

关于javascript - 当 mailto : or tel: links are clicked 时触发 INSERT 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30668902/

相关文章:

php - 单击按钮运行 SQL 查询

javascript - 用自己元素的反向和向前填充数组

javascript - TypeError: date.getHours 不是函数?

php - mautic 在 aws ubuntu 上安装期间抛出错误 php 错误

.net - 为 .net 商店开始移动/IOS 开发的最佳方式

android - 在 Android 的 CalendarView 中显示选定的日期

html - 焦点输入字段被虚拟键盘遮挡

javascript - Safari 浏览器的网络摄像头支持

javascript - (基础)获取数组中对象的顺序号 - Javascript ES6

javascript - 如何通过 AJAX 调用传递带有图像的额外变量