しばらくの間回避しようとしてきた本当に奇妙な問題がありますが、それはもうできないところまで来ています。
私は単純なphpスクリプトを持っています。いくつかの API 呼び出しを行い、Facebook からいくつかのデータを取得して表示します。このページの何らかの理由で、スクリプトに入力した Javascript/jquery がまったく機能しません。ソースにjavascriptを含むiframeを挿入すると機能しますが、javascriptがこのページにある場合、単に登録されません。まったく応答がありません。JavaScript プラグインが表示されないか、クリックしても関数が起動しません。
また、MYSQL 呼び出しも機能しません。私は単に何も返さない。これまでにこれが起こったことがありますか?考えられる原因はありますか?
構文エラーはないと思いますが、チェックを続けます。どんな助けでも大歓迎です!!
これは私のコードの本文までの最初の部分です。残念ながら残りは表示できません。
<?php
require 'includes/connection.php';
require 'src/facebook.php';
// Create our Application instance (replace this with your appId and secret).
$facebook = new Facebook(array(
'appId' => '~myid~',
'secret' => '~mysecret~',
));
// Get User ID
$user = $facebook->getUser();
// If we have a $user id here, it means we know the user is logged into
// Facebook, but we don't know if the access token is valid. An access
// token is invalid if the user logged out of Facebook.
if ($user) {
try {
// Proceed knowing you have a logged in user who's authenticated.
$user_profile = $facebook->api('/me');
$access_token = $facebook->getAccessToken();
$user_name = $user_profile[first_name];
/*
echo $user;
echo "<br/><br/>";
echo $access_token;
*/
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}/*elseif($_GET[user]){
$user = $_GET[user];
if ($user) {
try {
// Proceed knowing you have a logged in user who's authenticated.
$user_profile = $facebook->api('/me');
$access_token = $facebook->getAccessToken();
$user_name = $user_profile[first_name];
/*
echo $user;
echo "<br/><br/>";
echo $access_token;
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}
}*/
// Login or logout url will be needed depending on current user state.
$logoutUrl = $facebook->getLogoutUrl();
$loginUrl = $facebook->getLoginUrl(array('scope'=>'offline_access'));
//Get youtube video ID from URL
// & Linkify youtube URLs which are not already links.
function linkifyYouTubeURLs($text) {
$text = preg_replace('~
# Match non-linked youtube URL in the wild. (Rev:20111012)
https?:// # Required scheme. Either http or https.
(?:[0-9A-Z-]+\.)? # Optional subdomain.
(?: # Group host alternatives.
youtu\.be/ # Either youtu.be,
| youtube\.com # or youtube.com followed by
\S* # Allow anything up to VIDEO_ID,
[^\w\-\s] # but char before ID is non-ID char.
) # End host alternatives.
([\w\-]{11}) # $1: VIDEO_ID is exactly 11 chars.
(?=[^\w\-]|$) # Assert next char is non-ID or EOS.
(?! # Assert URL is not pre-linked.
[?=&+%\w]* # Allow URL (query) remainder.
(?: # Group pre-linked alternatives.
[\'"][^<>]*> # Either inside a start tag,
| </a> # or inside <a> element text contents.
) # End recognized pre-linked alts.
) # End negative lookahead assertion.
[?=&+%\w]* # Consume any URL (query) remainder.
~ix',
'$1',
$text);
return $text;
}
// function to convert second to time ( minute and secong format)
function secTomin($secs)
{
$sec = $secs % 60;
if($sec < 10)
{
$sec = '0'.$sec;
}
$min = floor($secs/60);
$ret = $min.':'.$sec;
return $ret;
}
//Output Buffering
// make sure output buffering is off before we start it
// this will ensure same effect whether or not ob is enabled already
while (ob_get_level()) {
ob_end_flush();
}
// start output buffering
if (ob_get_length() === false) {
ob_start();
}
//replace accents
function replaceAccentedCharacters($str)
{
$search = explode(",","ç,æ,œ,á,é,í,ó,ú,à,è,ì,ò,ù,ä,ë,ï,ö,ü,ÿ,â,ê,î,ô,û,å,e,i,ø,u");
$replace = explode(",","c,ae,oe,a,e,i,o,u,a,e,i,o,u,a,e,i,o,u,y,a,e,i,o,u,a,e,i,o,u");
$strreplaced = str_replace($search, $replace, $str);
return $strreplaced;
}
?>
<!DOCTYPE>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
<script src="http://connect.soundcloud.com/sdk.js" type="text/JavaScript"></script>
<script src="togglemenu.js" type="text/JavaScript"></script>
<script type="text/JavaScript">
SC.initialize({
client_id: "~mycliendid~",
redirect_uri: "~myurl~",
});
</script>
<script type="text/javascript" src="ajax.js"></script>
<link type="text/css" rel="stylesheet" href="css/jquery-ui-1.8.9.custom/jquery-ui-1.8.9.custom.css" />
<script type="text/javascript" src="jquery-ui-1.8.13.custom.min.js"></script>
<script type="text/javascript" src="jquery.multi-accordion-1.5.3.js"></script>
<link rel='stylesheet' href='css/lionbars.css' />
<script type="text/javascript" src="jquery.lionbars.0.3.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#song_list').lionbars({
autohide: true
});
});
</script>
</head>
現在、このコードの JavaScript はどれも機能していません。また、上記のコードで facebook と soundcloud のアプリ データを置き換えました。少し雑ですみません。全部投稿できればいいのですが、それは私次第ではありません。事前にご協力いただきありがとうございます。
要求された SQL ステートメントを次に示します。実際には、同じ形式でセットアップしたテスト用のステートメントです。
$query = "SELECT * FROM users WHERE fb_user_id = '$user'";
$likes = mysql_query($query);
$num = mysql_num_rows($likes);
echo $num;
while ($like_list = mysql_fetch_array($likes, MYSQL_ASSOC)){
$like = $like_list['fb_from_id'];
echo $like;
}