我一直在尝试创建一个基本上是移动短代码消息的php文件。由于页面上的任何输出都会自动显示在移动短信中,因此我无法在页面上使用任何html。但我在页面上输出文本之前执行一些谷歌分析JavaScript代码时遇到问题。我创建了一个外部文件并在那里编写了javascript,并尝试通过curl执行该文件,但curl不执行javascript。所以我的主要文件SMSapi.php的代码是这样的:
<?php
if(isset($_GET['mobile'])){
$number = $_GET['mobile'];
}
if(isset($_GET['text'])){
$data = $_GET['text'];
}
$brand = "mybrand";
$event = "MyEvent";
$deal = "MyDeal";
$url = "http://myurl.com/sms.php";
$post_string = "brand={$brand}&event={$event}&deal={$deal}";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
$success = curl_exec($ch);
curl_close($ch);
echo "Your discount code is XYZ123";
?>
sms.php代码如下:
<?php
if(isset($_POST) && !empty($_POST['event']) && !empty($_POST['brand']) && !empty($_POST['deal'])):
$event = urldecode($_POST['event']);
$brand = urldecode($_POST['brand']);
$deal = urldecode($_POST['deal']);
?>
<html>
<head>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-MyNum']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
_gaq.push(['_trackEvent', '<?php echo $event; ?>', '<?php echo $brand; ?>', '<?php echo $deal; ?>']);
</script>
</head>
</html>
<?php endif ?>
主SMS api文件向sms.php文件发出curl请求,当文件执行时,html和javascript作为文本返回,而不执行任何执行。因此,javascript会显示在短信中。
有没有办法通过php实现外部网址及其中的所有javascripts?
答案 0 :(得分:0)
答案 1 :(得分:0)
我认为这是一个在SMS提供商的电话上运行的脚本,而您却想在Google Analytics中记录此事件。
首先,我认为通过登录数据库而不是分析可以更容易地实现这一点。由于javascript正在运行服务器端,因此除了该事件之外,您将不会获得任何额外信息。
如果您确实需要运行Google代码,那么您需要尝试搜索“服务器端javascript google analytics”。解决方案将高度依赖于您运行的服务器平台以及可以安装的内容。
可能对您的PHP有用的一个有趣的链接是:
http://code.google.com/p/serversidegoogleanalytics/
但我没有使用它,所以不知道它的效果如何。