我想找出一种方法来做一些业务的网站跟踪。有没有办法将PHP代码添加到网页上的可点击链接上,以便当用户点击链接将其带到不同的页面时,PHP代码会在执行点击操作之前执行? 因此,在链接到网站之前,会执行一些PHP代码? Stackoverflow link有没有办法将PHP代码添加到可点击的链接?
回答
不,不是直接。 PHP仅用于服务器端代码。我建议你看看Mixpanel,Kissmetrics或Google Analytics等工具。
您可以链接到您网站上的PHP页面,并在执行完PHP代码后使用header('Location: <new url>')
重定向。
PHP是一种服务器端脚本语言。因此,它不能在浏览器中运行在客户端,因为所有的处理都必须在服务器上完成。
您可以使用Javascript获得您想要的功能。
在你的页面,你可以做类似的东西:
<!-- In your page head -->
<script type="text/javascript">
function myLinkFunction() {
// Do some Javascript here to track the click
// If you have jQuery on your page, you could do this:
$.post("trackclick.php", { link-id: "212", other-info: "some data" });
// Send the user to the linked page:
return true;
}
</script>
<!-- Somewhere else -->
<a href="somepage.html" onClick="myLinkFunction();">Link</a>
真的没有不同。如果您是使用jQuery,你可以这样做:
<a href="link.html" class="link">liunk</a>
<script>
$(document).ready(function() {
$('.link').click(function(e) {
e.preventDefault();
var $url = $(this).attr('href');
var logged = $.post('tracking-script.php', {link: $url});
// from 'tracking-script.php' return a string of yes or something
if(logged == 'yes') {
//window.location = $url;
return true;
}
});
});
</script>
你可以通过使用$ _GET跟踪代码或整数。然后在任何HTML之前的下一页顶部,您将运行一些小的跟踪代码。跟踪代码可以根据您的偏好更新数据库或平面文件。
landingpage.html
<a href = "somepage.php?tracking=1">Next Page</a>
somepage.php
$tally = $_GET['tracking'];
$track = $tally." from landingpage.html";
$handle = fopen('path/to/tracks.txt','a');
fwrite($handle, $track);
这是简化的方式,但该方法是(a)一对称为tracks.txt一个文本文件的末尾ppending的字符串。您可以通过其他方式处理tracks.txt,例如统计某个给定页面的链接数量。
尽管人们说,你可以做到这一点,结合使用javascript。 这是一种毫无疑问听到称为“AJAX”的方法。这意味着你运行一个在后台调用PHP脚本的Javascript函数。
W3Schools的有一个伟大的教程:http://www.w3schools.com/ajax/default.asp
您可以同时使用POST & GET方法将数据传递到一个PHP函数。 它会是这样的:
function showHint(str)
{
var xmlhttp;
if (str.length==0)
{
document.getElementById("txtHint").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","gethint.asp?q="+str,true);
xmlhttp.send();
}
所以在本质上是“STR”字符串,您希望通过这里显示xmlhttp.open get方法传递到JavaScript函数,然后到PHP文件中的值( “GET”, “gethint.asp q =?” + STR,TRUE);这可能很容易是xmlhttp.open(“GET”,“gethint.php?q =”+ str,true); PHP或ASP几乎没有什么区别。接下来要记住的是“txtHint”是一个HTML元素,您希望页面的响应返回。例如,您可以使用“gethint.php”或asp回显“成功”或“失败”。
如果您希望自己设计风格,可以通过与页面其余部分相同的样式表完成回复。我希望这有助于队友:)
- 1. 将可点击的图像链接添加到jQuery代码
- 2. 有没有办法让链接在OSX终端中可点击?
- 3. 有没有办法将嵌入式Python代码添加到Markdown?
- 4. 将php代码添加到url链接
- 5. 有没有办法将iFrame中的链接重定向到源代码?
- 6. 有没有办法检查链接是否被点击?
- 7. 有没有办法将链接添加到CQ5的“工具”部分
- 8. 有没有办法将PHP SimpleXMLElement添加到另一个SimpleXMLElement?
- 9. 有没有办法将Pygame添加到本地PHP文件中?
- 10. 有没有办法为iOS的通用链接添加userInfo?
- 11. 有没有办法将文本(链接)添加到原始数据?
- 12. 有没有办法看到元素是否可见,可点击?
- 13. 添加可点击链接到XpsDocument
- 14. 添加可点击的超链接到RichTextBox没有新的段落
- 15. 有没有什么办法在eclispe链接到母亲班通过点击
- 16. 链接没有点击jquery
- 17. Selenium没有点击链接
- 18. 有没有办法将静态链接与STL链接?
- 19. 有没有办法让CGO代码的调试符号链接到Go?
- 20. Eclipse代码格式化:有没有办法添加“节线”
- 21. 有没有办法链接mex文件与代码编译没有-fPIC
- 22. 有没有办法在Apache中预加载代码在PHP中?
- 23. 有没有办法将Meteor.Collections()链接到一起?
- 24. 有没有办法将更多小时链接到日期?
- 25. 有没有办法将JDK注释链接到需求?
- 26. 在iOS上,有没有办法将方法addTarget添加到UIImageView?
- 27. jQuery:有没有办法将'点击'事件变成双击?
- 28. 有没有办法将图像添加到VBA中的MessageBox?
- 29. 有没有办法链接querySelectorAll与getElementsByTagName?
- 30. 有没有办法模拟水貂中的链接/按钮点击?
你有任何控制链接去哪里? –