ワンクリックしかできないクリックカウンター
現在、ログイン式掲示板を作成中です。
その掲示板で、投稿に対してログイン中のみ、一人一回しかクリックできない「いいねボタン」のようなものを設置したいのですが、(mixiつぶやきのようなものです)どのようにすればよいのかわからずこまっております。
ネットにのっているものを参考にさせていただいて、クリック数をカウントする機能は、jQueryとjavascriptとphpでできたのですが、一回しかクリックできないようにするにはどうすればよいかわからないので、教えていただけませんか?
どうぞよろしくお願いいたします。
javascript
jQuery(document).ready(function(){
//初期時のカウンターファイル読み込み
//同じファイル名だと正常に読み込めないので、ランダムな数字を生成し、パラメータとして付けることで、ユニークな状態にしている。
var randnum1 = Math.floor( Math.random() * 10000 );
jQuery("#btn01 span").load("./count01.txt?r=" + randnum1);
//カウンター追加後の読み込み関数
function func01(data){
var randnum1 = Math.floor( Math.random() * 10000 );
jQuery("#btn01 span").load("./count01.txt?r=" + randnum1);
}
//カウンター+1追加処理
jQuery('#btn01 p').click(function(e){
//「param1」変数の値と書き込みファイル名の情報をもってpost.phpへ。その後、関数func01を実行
jQuery.post("post.php" , {"param1": 'count01.txt'} , func01);
jQuery("#btn01 span").load("./count01.txt");
});
});
index.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>カウントサンプル</title>
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="js/count.js"></script>
</head>
<body>
<div id="btn01"><p><a href="javascript:void(0);">いいね!</a></p><span></span></div>
</body>
</html>
post.php
<?php
$file = $_REQUEST['param1'];
$c = file_get_contents($file);
$c++;
$fp = fopen($file, "r+");
@fputs($fp,$c);
fclose($fp);
お礼
すばやいご回答ありがとうございます。 助かりました!