본문 바로가기

php36

8. session으로 로그인 정보 유지시키기 Chap 8. 아이디와 암호를 이용해서 사용자 확인을 하는 것까지 해봤습니다.제대로 로그인이 된 사용자라면, 사이트 곳곳을 누비는 동안, 로그인 사용자로서의 권한을 가질 수 있어야 겠지요. 그럴려면, 서버는 지속적으로 그 정보를 가지고 있을 필요가 있습니다.페이지가 바뀔 때마다 로그인을 강제할 수 없으니까요. 그럼, 로그인 정보처럼, 서버가 계속 가지고 가야하는 정보들은 어떻게 관리하면 좋을까요? 사용자가 사이트에 접속을 하게 되면, 세션 아이디를 가지게 됩니다. 그 세션이란거는 접속이 되어있는 동안 유지되는 또 하나의 연결의 끈이라고 칩시다. 그럼, 그 세션에다가 필요한 정보들을 기록해놓고 각각의 페이지에서 땡겨 쓸 수 있으면 좋겠군요. 그럴 목적으로 준비된 전역 변수가 있습니다. 페이지 내에서의 전역.. 2012. 12. 13.
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.
[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 접속 및 접속 끊기 mysql 관련 함수를 찾다보니, 이제 mysqli 를 쓰는것이 좋을거 같다는 생각이 드는군요. 속도도 이전 mysql 함수들보다 빠르다고 하네요. 그래서, 찾아봤습니다. mysqli 로 DB 서버 접속하기 및 접속 끊기 $mysqli = new mysqli($DB['host'], $DB['id'], $DB['pw'], $DB['db']); if (mysqli_connect_error()) { exit('Connect Error (' . mysqli_connect_errno() . ') '. mysqli_connect_error()); } $mysqli->close($mysqli); $DB 에는 첨자로 알아볼수있는 mysql 계정정보가 들어있습니다. 2012. 12. 11.
4. 데이터베이스에 가입정보 저장하기 Chap 4. 앞서 회원가입 페이지에서 필요한 정보들을 입력받을 수 있도록 했습니다.이제 그 정보들을 mysql 데이터베이스(이하 DB)에 저장하는 방법을 알아보겠습니다. 우선 DB에 정보들을 저장할 공간을 마련해 둬야겠지요. 회원 가입 정보들을 저장할 ap_member 라는 이름의 테이블을 만들고, 몇개의 필드들을 설정해 놓겠습니다. phpMyAdmin 이라는 웹툴을 이용해서 DB에 테이블 생성 작업을 할 수 있습니다. 사용방법은 각자 찾아보시구요. 위 형태로 일단 간단하게 가봅시다. signup.php 에서 form 에 사용되었던 값들과 ap_member 테이블의 필드와 연관성은 아래와 같습니다. 회원가입 폼 ap_member 테이블의 필드 user_id id user_pw pw user_email .. 2012. 12. 11.
1. PHP, mySql을 이용해서 홈페이지 만들기 PHP, mySql을 이용해서 홈페이지 만들기 php와 mySql을 공부해 가면서, 홈페이지 만드는데 필요한 템플릿? 정도 제작해볼까 합니다. 게시판 위주의 사이트라면, 킴스큐(http://kimsq.com) 나 xe(http://xpressengine.com)로 만드는 것이 속 편합니다. 하지만, 그외 조금 색다른 기능을 담아야하는 홈페이지라면, 경우에 따라 위의 CMS 들은 너무 무겁거나, 그 CMS 위에서 새로운 기능을 구현하기 위해 CMS 자체를 공부해야하는 문제가 생깁니다. 그래서, 사이트 운영에 필요한 최소한의 기능만 담고 있는 템플릿을 만들어보려고 합니다. 템플릿을 호스팅 서버에 업로드하고 DB 설정만 하면, 회원가입, 로그인, 로그아웃, 기본 게시판 정도 달려있는 수준이 우선 목표입니다. .. 2012. 12. 10.
[PHP] include(), require(), include_once(), require_once() php 파일 작성 시에, 외부 파일을 포함하기 위해 사용하는 함수가 4개가 있습니다. include(), require(), include_once(), require_once() include(), require() 는 함수가 실행될 때마다 매개변수로 입력한 파일을 포함합니다. 이들 함수의 매개변수는 파일의 위치를 지정합니다. include('./test/a.php'); require('./test/a.php'); 현재 디렉토리 아래에 test라는 디렉토리 내의 a.php를 포함시켜라..는 의미죠. 기능은 같지만, 이들 두 함수는 실행결과의 차이가 있습니다. 포함시키라고 지정해준 파일이 없을 경우, include()는 warning을 표시하지만, require()는 fatal error 를 표시하고 실.. 2012. 12. 10.