본문 바로가기

전체 글164

[PHP] session_start(), $_SESSION[] 수퍼 글로벌 변수 $_SESSION[] 을 사용하는 방법입니다. $_SESSION[] 변수를 사용하기 전에 다음 함수를 반드시 실행시켜야합니다. bool session_start ( void ) 그래야, 이후, $_SESSION[] 을 자유롭게 이용할 수 있습니다. $_SESSION[] 는 배열이니까, 첨자를 이용해서 많은 정보를 다룰 수 있습니다. $_SESSION['user_id'] = 'member1'; 세션에 저장되어 있는 값을 지우고 싶을 때는 아래와 같이 unset() 함수를 이용할 수 있습니다. unset( $_SESSION['user_id'] ); unset()은 세션 변수뿐아니라 다른 변수에도 모두 사용가능합니다. 노파심에...ㅎㅎ 그리고, 세션에 저장된 정보를 삭제하는 방법은 아래 몇가.. 2012. 12. 13.
8. session으로 로그인 정보 유지시키기 Chap 8. 아이디와 암호를 이용해서 사용자 확인을 하는 것까지 해봤습니다.제대로 로그인이 된 사용자라면, 사이트 곳곳을 누비는 동안, 로그인 사용자로서의 권한을 가질 수 있어야 겠지요. 그럴려면, 서버는 지속적으로 그 정보를 가지고 있을 필요가 있습니다.페이지가 바뀔 때마다 로그인을 강제할 수 없으니까요. 그럼, 로그인 정보처럼, 서버가 계속 가지고 가야하는 정보들은 어떻게 관리하면 좋을까요? 사용자가 사이트에 접속을 하게 되면, 세션 아이디를 가지게 됩니다. 그 세션이란거는 접속이 되어있는 동안 유지되는 또 하나의 연결의 끈이라고 칩시다. 그럼, 그 세션에다가 필요한 정보들을 기록해놓고 각각의 페이지에서 땡겨 쓸 수 있으면 좋겠군요. 그럴 목적으로 준비된 전역 변수가 있습니다. 페이지 내에서의 전역.. 2012. 12. 13.
[PHP] mysqli 의 쿼리 결과 다루기 mysqli 에서 SELECT 쿼리를 실행한 후, 그 결과값을 뽑아 내는 방법을 간단히 보겠습니다. $mysqli = new mysqli($DB['host'], $DB['id'], $DB['pw'], $DB['db']); if (mysqli_connect_error()) { exit('Connect Error (' . mysqli_connect_errno() . ') '. mysqli_connect_error()); } $q = "SELECT * FROM ap_member WHERE id='$user_id'"; $result = $mysqli->query( $q); 위처럼 루틴하게 mysqli 연결의 끈을 생성시키고, 쿼리를 실행시킵니다.실행결과는 $result 에 담겨있지요. $result->num_r.. 2012. 12. 12.
7. 로그인 페이지 만들기 Chap 7. 이제까지 회원가입을 받는 기능은 최소한의 기능으로 구현해봤습니다.그럼, 가입한 회원이 로그인해서 사이트를 이용할 수 있도록 로그인 기능을 구현해봅시다. index.php 에 로그인 버튼을 만들어 줍시다. 로그인 회원가입 아래에 표시되도록 합니다. 그리고, login.php 를 www/member에 만듭니다. 회원으로부터 아이디와 암호를 입력받아야 하니까, form 태그를 이용한 signup.php 와 유사하게 만들수 있겠네요. login.php - 로그인 페이지 아이디 : 비밀번호 : user_id 와 user_pass 를 입력받아 login_check.php 로 전달합니다. login_check.php에서는 입력받은 값과 DB에 저장되어 있는 값을 비교해서 로그인을 허락할지 말지를 결정해.. 2012. 12. 12.
[PHP] header() php를 이용해서 HTTP Raw header 를 전송할 수 있는 함수입니다. void header ( string $string [, bool $replace = true [, int $http_response_code ]] ) 2012. 12. 12.
6. 가입 정보 저장 후 완료 페이지로 전환하기 Chap 6. php에서 사용자의 클릭없이 자동으로 다른 페이지로 전환하도록 하기 위해서는 header() 함수를 이용할 수 있습니다. header("Location: http://mydomain.com/member/signup_done.php"); exit(); 주의할 점은, header() 이전에 화면에 무언가를 출력해서는 안 됩니다. header()함수가 HTTP raw header를 전송하는 함수니까, 다른 무엇보다 우선되어야 하겠지요. exit() 함수는 페이지 전환 후에, 이후 영향을 미치기 않게 하기 위해서 적어주는 편이 좋습니다. 위 내용을 signup_check.php 의 마지막 부분에 넣도록 하겠습니다. 그리고, www/member 디렉토리 안에 signup_done.php 파일을 만들.. 2012. 12. 12.
5. 사용자 암호를 암호화 하기 Chap 5. 앞서 회원가입을 위해 입력한 값을 DB에 저장하는 것까지 해봤는데요, 암호가 입력한 문자열 그대로 저장이 됩니다. 이는 보안을 생각하면 좋은 방법이 아닙니다. php 에서 문자열을 암호화하는 함수들을 몇개 제공하고 있는데요, PHP 카테고리에 있는 다음 글을 참고하시길 바랍니다. md5(), sha1() 2012. 12. 11.
[PHP] md5(), sha1() 주어진 문자열의 해쉬값을 구해주는 함수들이 있습니다. 문자열을 암호화 하는데 이용될 수 있습니다. string md5 ( string $str [, bool $raw_output = false ] ) $str 해쉬값을 구할 문자열 $raw_output true 로 설정하면, 결과값이 16자로 만들어줍니다. 설정하지 않을 경우, 32자의 길이를 가집니다. string sha1 ( string $str [, bool $raw_output = false ] ) $str 해쉬값을 구할 문자열 $raw_output true 로 설정하면, 결과값이 20자로 만들어줍니다. 설정하지 않을 경우, 40자의 길이를 가집니다. php.net 에서 위 함수들을 검색해보면, 암호를 암호화하는데 이용하지 말라고 합니다. 이유인 .. 2012. 12. 11.
[PHP] mysqli 로 쿼리 날리기 DB 관련 작업을 하기 위해서 필요한 절차는 아래와 같이 심플합니다. include_once ('../config.php'); $mysqli = new mysqli($DB['host'], $DB['id'], $DB['pw'], $DB['db']); if (mysqli_connect_error()) { exit('Connect Error (' . mysqli_connect_errno() . ') '. mysqli_connect_error()); } $q = "쿼리"; $mysqli->query( $q); $mysqli->close($mysqli); 2012. 12. 11.