简单的PHP请求。将请求从第一页发送到第二页而不登陆页面

时间:2013-08-14 16:40:20

标签: php

我希望我的Instagram网站的第一页加载照片存储照片ID等,当用户点击相似按钮时,类似的内容会被发送到likes.php,这会将类似的内容发送到Instagram 。以下示例:

<?php

require 'instagram.class.php';

$instagram = new Instagram(array(
  'apiKey'      => '******************',
  'apiSecret'   => '******************',
  'apiCallback' => 'http://****/****/index.php'
));

$token = // code that generates and properly stores token;
$instagram->setAccessToken($token);
$id =  $_GET['pic'];
$instagram->likeMedia($id);

if ($result->meta->code === 200) {
  echo 'Success! The image was added to your likes.';
} else {
  echo 'Something went wrong :(';
}


?>

并且举例来说,现在发送类似的页面看起来像:

 echo "<img src='like.jpg' class='like' onclick='SendID("4358734534_5435435")'>";

SendId应该是什么样的?或者为了完成这项任务会有什么好处,我只是你能够点击上面创建的按钮并将该照片的id发送给likes.php

2 个答案:

答案 0 :(得分:1)

onclick 是一个所谓的“事件处理程序”。 通常,它们是用JavaScript编写的。

您的示例是名为 SendID 的JavaScript 函数

您必须使用Ajax访问您提到的页面(likes.php)。 实现它的最简单方法之一是使用jQuery。

在下面的参考资料中阅读更多相关信息。

参考文献:

答案 1 :(得分:1)

样品:

echo "<img src='like.jpg' class='like' onclick='likePic(".$picId.",".$userId.")'>";

使用JQuery http://jquery.com/

function likePic(picId, userId){

    $.get('path/to/like.php?picid=' + picId + '&userid=' + userId+ "&r=" + (new Date().getTime()), function(data) {
       if (data != "ok") {
         //maybe error handling, if like.php does not return "ok".
       }
    }
}

没有jQuery(纯JavaScript)

function likePic(picId, userId){
    var xhr = new XMLHttpRequest();
    xhr.open("GET", 'path/to/like.php?picid=' + picId + '&userid=' + userId+ "&r=" + (new Date().getTime()), true);
    xhr.onload = function (e) {
      if (xhr.readyState === 4) {
        if (xhr.status === 200) {
          if (xhr.responseText != "ok") {
             //maybe error handling, if like.php does not return "ok".
           }
        }
      }
    };
   xhr.send(null);
  }

两个示例的"&r=" + (new Date().getTime())只是为了避免webbrowser对结果进行缓存。