2011-08-14 10 views
3

Ive는 사용자가 스토리/이벤트를 입력하고 다른 사용자가 게시물을 좋아하거나 싫어할 수있는 웹 페이지를 가지고 있습니다.쿠키 - 한 번만 투표

나는 사용자는

나는 데이터베이스에 저장하는 삭제 사용자 넣다 더 좋은 방법이 될 것이라고 알고있다 (각 페이지가 많은 게시물이있을 것이다) 이후에 한 번 투표 할 수있는 쿠키를 만들려면 그/그녀의 쿠키는 중요하지만 게시물은 중요하지 않습니다. 또한 나는 쿠키를위한 데이터베이스를 만드는 데 많은 코드가 필요하고 데이터베이스는 거대 할 것이라고 생각할 것입니다. 대량의 게시물이 있고 각각에 대해 좋아할 것입니다.

나는 쿠키를 만드는 것은 내가 어떻게 생각을하고 살아야 구글에 높고 낮은 검색하는 방법 아무 생각하지만, 메신저 잘못된 키 단어를 검색하면 내가 잘 모릅니다

을 필요위한 더 나은 옵션이 될 것이라고 생각 지식의 내 부족하면 저를 실망시키는

그래서 사람이 어떻게

감사

을 기쁘게 필요한이 쿠키를 만드는 방법 나에게 알려 주시기 바랍니다 수
+3

DB에 대량의 데이터를 저장하는 것은 나쁘지 않습니다. DB가 필요한 것입니다. 쿠키를 사용하면 학대를 허용 할 수 있지만 중요하지 않을 수 있습니다.하지만 투표 한 게시물의 저자에게 중요합니다. 여기에 질문에 1000 개의 downvotes를 주면 어떨까요? –

답변

4

쿠키에 대한 현대적인 교체입니다. 이는 기본적으로 데이터가 클라이언트 컴퓨터에 저장되는 변수이므로 사용자가 컴퓨터를 탐색하거나 다시 부팅 한 경우에도 언제든지 액세스 할 수 있습니다.

매우 간단합니다. 당신은 할 수 :

function vote() { 
    if(localStorage['votedForPost' + postid] == 'true') return; // abort if already voted 
    // ... 
    localStorage['votedForPost' + postid] = 'true'; // you can only store strings 
} 

유일한 단점은 그것이 모든 브라우저, 여전히 IE7 등의 사용 특히 오래된 것들에 사용할 수없는 것입니다.

+0

어떤 브라우저에서 사용할 수 있습니까? – Louismoore18

+0

@ Louismoore18 : 크롬, IE9, 오페라, 사파리, 파이어 폭스 (정확히 어떤 버전이 아닌지). – pimvdb

+0

Dr.Molle의 OP에 대한 의견은 여전히 ​​유효하지만 localStorage (HTML5)는 아직 널리 사용되지 않습니다. – Bojangles