ダリの雑記:WEBプログラム版

レーティング機能と「いいね!」を連動させる【Facebook】:STEP2

この記事は、『レーティング機能と「いいね!」を連動させる【Facebook】:STEP1』の続きの記事です。

STEP2からjqueryを使用しますので、あらかじめこちらのサイトからダウンロードを行ってください

 

2. 「いいね!」「だめだね!」ボタンが押されたとき、そのデータをcsv形式で保存するプログラムを作成。

ボタンが押された際、csv形式でデータを保存するプログラムを作成します。
保存するデータは

です。

 

■2-1. POSTされてきたデータをCSVファイルに出力するプログラム

 

下記のサンプルコード(rating_save.php)は、Ajax Requestにより呼び出され、POSTされたデータをCSV形式で出力するというプログラムです。

サンプルコード(rating_save.php)

[PHP]

$delete_time){
@rmdir ($dir_name);
}
}
}

?>

[/PHP]

02~04行目:POSTされてきたデータを変数にいれます。
データはそれぞれ

となっています。

12~49行目:データをCSV形式で保存します。また、すでに保存されているデータを調べ、ボタンの押された回数と「いいね!」が押された回数を取得し、出力します。

51~85行目:データの保存が重複しないよう、ロックをかける関数とロック解除の関数です。

 

■2-2. Ajax Requestを用いて上記のプログラム(rating_save.php)を呼び出す

 

STEP1の「1-2. PHPにてFacebookユーザの基本データ取得」で作成したプログラムにいろいろと追加します。

サンプルコード(step2.php)

[PHP]

id;
$_SESSION["fb_user_id"] = $fb_user_id;
}
}

//これまでのレーティングデータを取得する
$fb_count_vote = 0;
$fb_like_vote = 0;
if(file_exists("csv/rating.csv")){
$fp = fopen("csv/rating.csv", "r");
while ($data = fgets($fp)) {
$data = rtrim($data);
$data_split = explode(",", $data);
if($data_split[1] == $fb_my_url){
$fb_count_vote++;
if($data_split[2] == "1"){
$fb_like_vote++;
}
}
}
fclose($fp);
}

?>





レーティング機能と「いいね!」を連動させる【Facebook】

以下のリンクをどちらかクリックしてください。(まだFacebookには反映されません。)

いいね! |
だめだね!

レーティングに参加するにはFacebookのアカウントが必要です。
またFacebook用アプリの「(アプリ名)」を許可する必要があります。

Facebookアカウントを取得する | アプリを許可する

人中、人がいいね!と言っています。


[/PHP]

■追加部分

42~58行目:すでに投票されているレーティング情報を取得する。

68行目:jqueryの読み込み(jqueryのダウンロードはこちら

70~95行目:ボタンが押された時の処理。rating_save.phpへデータを渡し実行させる。

106~110行目:ボタンを仮設置(まだFacebookとの連携はされていない)

127行目:レーティング情報の表示。

※まだこの段階では、Facebookとの連携はされていませんし、一度「いいね!」「だめだね!」のいずれかを押していても画面をリロードすれば再投票できてしまいます。

サンプルコードの実行例

 

STEP1へ|STEP2へ|STEP3へSTEP4へ

モバイルバージョンを終了