我有一个围绕移动功能设计的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功能这样的解决方案就是解决方案,但我确信在不离开页面的情况下这是不可能的。
感谢任何帮助。
答案 0 :(得分:2)
您可以使用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` ...");
?>