2015년 1월 9일 금요일

php 간단 일기장 - 유효성 검증 - 서버 유효성 검증 - 글 생성 / 수정하기

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php 간단 일기장 - 유효성 검증 - 서버 유효성 검증 - 글 생성 / 수정하기

요구사항
  • 글 쓰기와 글 수정에서 Contents 는 1글자 이상 들어가야 한다.
  • 글 수정에서 diary_id 는 데이터베이스의 타입과 일치해야 하므로 숫자여야 한다.
 시나리오

    글 생성 / 수정시 contents가 1글자 이상인지 확인한다.
    따라서 이러한 논리는 생성 / 수정이 실제 처리되는 페이지에 추가되어야 한다.

    글 수정시 diary_id 가 숫자인지 확인해야 한다.

논리 변경 
기존논리

    (수정일 경우) diary_id 를 클라이언트에서 전송받아 $diary_id 라고 이름붙인다.
    contents 를 클라이언트에서 전송받아 $contents 라고 이름붙인다.
    데이터베이스에 연결해서 $contents 의 값을 데이터베이스에 넣는다.
    diarylist 로 이동한다.

변경논리

    (수정일 경우) diary_id 를 클라이언트에서 전송받아 $diary_id 라고 이름붙인다.
    (수정일 경우) $diary_id 의 타입을 구해서 $diary_id_type 이라는 이름을 붙인다.
    (수정일 경우) $diary_id_type 이 정수(integer) 타입인지 확인한다.

    (수정일 경우) $diary_id 가 정수가 아닐 경우 아래 논리를 실행하지 않고 바로 diarylist.php 로 이동한다.

    contents 를 클라이언트에서 전송받아 $contents 라고 이름붙인다.
    글자의 길이를 확인하고 0글자일 경우 데이터베이스에 넣지 않고 diarylist 로 이동한다.
    1글자 이상일 경우 데이터베이스에 연결해서 $contents 의 값을 데이터베이스에 넣는다.
    diarylist 로 이동한다.


글 생성 파일
writesubmit.php를 수정한다.

글 생성 검증 코드
 
생성시 클라이언트에서 전송받은 값을 $contents 라고 이름붙인 후에 아래 코드 추가
 
if (count($contents) == 0)
{
    header("Location: diarylist.php");    
}


글 수정 파일 
 editsubmit.php로 수정한다.
수정시 클라이언트에서 diary_id와 contents 를 전송받는다.
 각각 $diary_id , $contents 라고 이름붙인 다음 아래 코드를 추가한다.
$diary_id_type = gettype($diary_id);
if ($diary_id_type != 'integer')
{
    header("Location: diarylist.php");    
}
else if (count($contents) == 0)
{
    header("Location: diarylist.php");    
}

댓글 없음:

댓글 쓰기