繁体   English   中英

从javascript触发php函数

[英]Trigger php function from javascript

我试图逐一跟踪从特定网页上喜欢我的Facebook页面的人数。 为此,我正在使用FB事件。 我希望将计数保存到本地数据库中。

下面是我一直在尝试的代码。 但这是行不通的。

<?php
echo "<html xmlns=\"http://www.w3.org/1999/xhtml\" xmlns:fb=\"http://    www.facebook.com/2008/fbml\">";

echo "<head>";
echo "<script src=\"https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js\"></script>";
echo "<script src=\"http://connect.facebook.net/en_US/all.js#appId=157605600977665&amp;xfbml=1\"></script>";
echo "<script>";

echo "var a = 0;";
echo "$(\"document\").ready(function(){";
echo "FB.Event.subscribe('edge.create', function(href, widget) {";
//not working
echo "window.location=\"1.php?action=add";
echo "});";
echo "});";
echo "</script>";
echo "</head>";

echo "<body>";

if ($action=="add") 
{ 
mysql_query("update likes set count = count + 1 where id=1;");
} 

echo "<div id=\"fb-root\"></div>";
echo "<fb:like href=\"http://www.facebook.com\" send=\"false\" width=\"450\" show_faces=\"false\"></fb:like> <br/>";
echo "</body>";
echo "</html>";

?>

您想使用$ _GET变量,它将包含任何url参数。

if (isset($_GET['action']) {
   $action = $_GET['action'];
   if ($action == "add") {
     mysql_query("update likes set count = count + 1 where id=1;");
   } 
} // untested, should work though

另外,您不必回显所有HTML。 您可以随时打开和关闭PHP标记。

<html>
<head>
....etc...

<?php
  // do work here
?>

.... more html ...
</html>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM