2011-11-11 7 views
1

나는 현재 로컬 호스트에 간단한 웹 사이트를 가지고 있습니다. 나는 보안에 관해서 일하고있다. 데이터베이스에 추가 열을 작성하고 이름을 "enum"('0', '1')의 "active_notactive"로 지정했습니다.PHP 로그 아웃 쿠키 및 세션

내 질문 : 특정 사용자의 로그 아웃시 active_notactive 기능을 0으로 변경하는 방법.

내가 원하는 것은 : 사용자가 로그인하기 전에, active_notactive = '0', 로그인 후 active_notactive = '1', 로그 아웃 = '0'입니다. 나는 그들 모두가 로그 아웃 비트와 별도로 일하도록했다.

<?php 
// start session 
session_start(); 



// HERE IS WHERE IM STUCK 
// get session email to use it in the following query 
$_SESSION['email'] = $email; 
// Update member to active 
mysql_query("UPDATE members SET active_notactive='0' WHERE email=$email"); 




// delete the current dession 
unset($_SESSION); 
session_destroy(); 

// set the current cookie to 1 hour ago (to delete it) 
setcookie ("online_security_user", "", time() - 3600); 
setcookie ("online_security_pass", "", time() - 3600); 

?> 

<h2>Thank you for using our website. You are now logged out.</h2> 
+0

** 쿼리가 성공했다고 가정하지 마십시오. 기본 오류 처리조차도 수행했다면 (예 : 'mysql_query (...) or die (mysql_error())'는 왜 이것이 작동하지 않는지 보았을 것이다. –

답변

0
mysql_query("UPDATE members SET active_notactive='0' WHERE email='".$email."'"); 

$ 이메일은 문자열이므로 따옴표로 묶어야합니다.

위의 대답은 $email= $_SESSION["email"]입니다.

+0

YESSSSSSSSSSSSSSSSSS! I LOVE U LOL –

1

무엇을 작동하지 않습니다 여기에

내 로그 아웃 스크립트입니다?

그리고 나는 $email = $_SESSION['email'];을 의미한다고 생각합니다.

+0

로그 아웃시 데이터베이스에서 '0'으로 변경되지 않습니다. ( –

+0

그런 다음 디버깅을 시작합니다. 실행하기 전에 쿼리를 인쇄하고 오류보고 기능을 활성화 한 다음 오류가 있는지 확인하십시오 .. – CodeCaster