최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday

티스토리 뷰

   session을 이용한 로그인 페이지 통신 기초


login_main.php에서 아이디를 입력받고 login.php로 넘어간다. 이때 session을 사용하여 값을 계속 유지.전달 하며 login.php에서 


로그아웃 버튼을 누르면 session변수를 삭제하고 다시 login_main.php로 이동한다.


만약 login.php에 바로 접근하여 session변수에 아무런 값이 없어도 login_main.php로 이동시킨다.



   소스


login_main.php)


<?php
	session_start();
	header("Content-type:text/html;charset=utf-8");

	$user_id = $_POST[user_id];
	if($user_id){
		$_SESSION[user_id] = $user_id;
		$url = 'login.php';
		//echo"<meta http-equiv=\"refresh\" content=\"0; url=$url\">";
		header("Location:login.php");
		exit;
	}
?>

<script>
	function check_submit($form){
		if(!$form.user_id.value){
			alert("ID를 입력하여 주십시오");
			$form.user_id.focus();
			return false;
		}
		return true;
	}
</script>

<form name='write' method='post' action='<?=$PHP_SELF?>' onsubmit='return check_submit(this);'>
	아이디: <input type='text' name='user_id' value='' />
	<input type='submit' value='로그인' />
</form>

<?php echo "세션정보: $_SESSION[user_id]"; ?>




login.php)


<?php
	session_start();
	header("Content-type:text/html;charset=utf-8");
	
	$mode = $_POST[mode];
	if($mode == 'logout'){
		unset($_SESSION[user_id]);
		header('Location:login_main.php');
		exit;
	}

	$user_id = $_SESSION[user_id];
	if($user_id)
		echo "로그인된 아이디는 $user_id 입니다.";
	else
	{
		echo "<script>
				window.alert('정상적인 접근이 아닙니다.');
			  </script>";
		echo "<meta http-equiv=\"refresh\" content=\"0; url=login_main.php\">";
		//header('Location:login_main.php'); //헤더가 출력되기전에 어떤 것들도 출력되면 안된다.
	}

?>
<form name="out" method="post" action="<?=$PHP_SELF?>">
	<input type='submit' value='로그아웃' />
	<input type='hidden' name='mode' value='logout' />
</form>


'■ 백엔드 ■ > PHP' 카테고리의 다른 글

Developer Documentation 번역 : 01.시작하기  (0) 2014.04.10
PHPExcel ?  (0) 2014.04.07
10. 학생 명단 삭제  (0) 2014.02.14
9. 학생 명단 수정  (0) 2014.02.14
8. 학생 데이터 추가  (0) 2014.02.14
댓글