2014-02-26 7 views
0

나는 내 사이트 (버튼과 같은 Facebook이 아님)에 같은 버튼을 만들었습니다. 사용자가 like 버튼을 클릭하면 카운트가 1 씩 증가하고 링크는 비활성 상태가됩니다. 하지만 문제는 내가 페이지를 새로 고침하면 자동으로 증가합니다. 는 PHP에서 도움이 필요합니다. 코드는 쿠키와 PHP 세션 재생 및 반복 클릭을 방지하기 위해 자바 스크립트버튼과 같은 개인 소유

if(@$_GET['click']=="like") 
{ 
    $_SESSION['like']=1; 
    $lk=$row['likes']+1; 
    $iid=$row['id']; 
    mysql_query("UPDATE `blog` SET `likes`=$lk WHERE id=$iid "); 
    $row['likes']++; 
    $lmsg="<img title='Already Liked' src='a_data/upg.png'>"; 
} 
else 
{ 
    $lmsg="<a href='viewblog.php?id=".$gid."&click=like'> <img title='Like It' src='a_data/up.png'></a>"; 
} 

echo "<div id='like'>".$row['likes']."</div> ".$lmsg; 
+2

는 @ 스티브 모든'언어에 대한 필요가 없습니다 : 랭'편집. 해당 태그가 있으면 강조 표시가 자동으로 수행됩니다. – Bart

+0

이 과정에는 자바 스크립트를 사용하고 있습니까? 우리도 그걸 볼 수 있을까요? –

+0

나는 그것을하는 beeter 길을 알 수 있냐? – kadamviraj

답변

0

사용할 수있다. 그리고 만약 당신이 결코 다시는 당신이 좋아하는 항목 ID와 MySQL의 테이블에 사용자의 IP를 추가 할 필요가 절대 방지하기위한 영구적 인 솔루션을 찾고 있습니다.

하지만이 방법을 사용하면 모든 ip 에서처럼 하나만 가질 수 있습니다. (100 명이 근무하는 회사를 생각해보십시오. 그 중 한 사람 만 귀하의 입장을 좋아할 수 있습니다.)

정확하고 적절한 해결책은 회원 자격입니다. 모든 사용자는 고유 한 ID로 식별됩니다.

또한 당신이 이런 식으로 코드를 편집 할 수 있습니다, 당신의 새로 고침 질문을 답장 :

if(@$_GET['click']=="like" && !isset($_SESSION['like'])) 
{ 
$_SESSION['like']=1; 
$lk=$row['likes']+1; 
$iid=$row['id']; 
mysql_query("UPDATE `blog` SET `likes`=$lk WHERE id=$iid "); 
$row['likes']++; 
$lmsg="<img title='Already Liked' src='a_data/upg.png'>"; 
} 
else 
{ 
$lmsg="<a href='viewblog.php?id=".$gid."&click=like'> <img title='Like It' src='a_data/up.png'> </a>"; 
} 
+0

U 코드 기술을 사용하여 코드를 보여줄 수 있습니까 ?? – kadamviraj

+0

나는 여전히 같은 일이 일어났습니다 .. 그것은 새로 고침 evrytime을 가져옵니다. – kadamviraj

+0

파일의 시작 부분에'session_start()'를 추가 했습니까? – artuc

관련 문제