2010-12-29 2 views
0

jquery에서 뭔가를하고 싶습니다. 사용자가 무엇인가 투표하기를 원한다면 로그인하거나 등록하지 않은 상태에서 주황색 팝업 창이 나타나면 stackoverflow와 같은 작업을 수행하라는 메시지가 나타납니다. jquery와 세션으로 어떻게 작업하는지 궁금합니다! 나는 단지 올바른 방향으로 밀어 넣기를 원한다. :))jquery를 사용하여 가입하도록 사용자를 안내 하시겠습니까?

+0

JavaScript에 세션이 없습니다. 쿠키를 사용할 수는 있지만 그 안의 데이터는 안전하지 않습니다. 누구나 쿠키를 편집 할 수 있습니다. 실제 서버 측 세션이 필요합니다. – jwueller

답변

0

설정이 무엇인지 알지 못하면 (예 : 프레임 워크 등을 사용하는 경우) 최상의 답변을 찾기가 어렵습니다. 세션이 설정되어있는 경우

  1. 확인하고
  2. 이 경우
  3. , 자바 스크립트 팝업을 실행 : 그러나, 일반적인 용어로 당신은 다음을 수행해야 할 것이다. 로그인 세션 정보를 가정

'이름'이라는 슬롯에 저장됩니다, 당신은 할 것 :

if (!isset($_SESSION['username'])) { 
    print(" 
     <script type type=\"text/javascript\"> 
     alert('Please login first.'); 
     </script> 
    "); 
} 

를 내가 일을 더 매력적으로 보이게하는 좋은 방법을 jQuery UI를 조사하는 것이 좋습니다.

0

세션은 서버에서 관리되며 jQuery와 관련이 없습니다.

jQuery를 사용하여 로그인 화면에 대한 멋진 모달 대화 상자를 만들 수 있습니다.하지만 그저 멋진 HTML 일뿐입니다.

2

사용자가 로그인했는지 여부를 나타내는 코드에 javascript 변수를 설정해야합니다. 이는 백엔드 세션 또는 사용자가 설정 한 브라우저 쿠키에서 가져올 수 있습니다. 당신은 틀림없이 이것이 로그인되어 있지 않다면 이것이 투표에 대한 유일한 조치가되기를 원하지 않을 것입니다. 서버에서도 확인하십시오. 당신이 세션을 사용하려면

, 당신은 같은 것을 할 수 있습니다

<script type="text/javascript"> 
    var userLoggedIn = <?php =$_SESSION['logged_in']; ?> 
</script> 

$_SESSION['logged_in']true 또는 false로 설정되어야 할 것이다. 그런 다음 사용자가 작업을 수행하려고 할 때마다 해당 변수 (userLoggedIn)를 확인합니다. 또한 위에서 말했듯이 서버 쪽에서 확인하십시오.

그래서이 방법을 사용하는 것 같습니다. 코드를 보면, 내가 현재 로그인했음을 의미하는 var isRegistered = true이라는 줄이 있습니다.

로그인 할 수없는 경우 투표 기능을 모두 제거한 다음 추가 할 수 있습니다 아르. 로그인하지 않은 사용자의로드 시간을 절약 할 수 있습니다.

관련 문제