이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 유효성 검증
글 생성과 글 수정시 아무것도 없는 글은 일기로써 의미가 없다.
즉 한글자 이상의 글자가 입력되어야 한다.
이처럼 원래 만든 의도와는 다르게 작동되는 것을 막기 위해서
* 설계 의도에 맞도록 사용자가 입력했는가.
를 확인하는 것을 유효성 검증이라고 한다.
2015년 1월 9일 금요일
php 간단 일기장 - 유효성 검증 - 클라이언트 유효성 검증
이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 유효성 검증 - 클라이언트 유효성 검증
사용자측에서 서버로 데이터를 보내기 전에 한번 검증한 후 보낸다.
클라이언트 유효성을 검사하기 위해서는 자바스크립트를 사용한다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 유효성 검증 - 클라이언트 유효성 검증
사용자측에서 서버로 데이터를 보내기 전에 한번 검증한 후 보낸다.
클라이언트 유효성을 검사하기 위해서는 자바스크립트를 사용한다.
php 간단 일기장 - 유효성 검증 - 서버 유효성 검증
이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 유효성 검증 - 서버 유효성 검증
클라이언트 사이드에서 유효성 검증을 했다고 해도 다른 방식으로 오염된 데이터가 넘어올 가능성은 얼마든지 있다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 유효성 검증 - 서버 유효성 검증
클라이언트 사이드에서 유효성 검증을 했다고 해도 다른 방식으로 오염된 데이터가 넘어올 가능성은 얼마든지 있다.
따라서 클라이언트 검증 후에 서버에서 동일하게 유효성을 한번 더 검증할 필요가 있다.
php 간단 일기장 - 유효성 검증 - 서버 유효성 검증 - 글 생성 / 수정하기
이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
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 가 숫자인지 확인해야 한다.
글 생성 / 수정시 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 로 이동한다.
(수정일 경우) 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");
}
php 간단 일기장 - 유효성 검증 - 클라이언트 유효성 검증 - 글 생성 / 수정하기
이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 유효성 검증 - 클라이언트 유효성 검증 - 글 생성 / 수정하기
요구사항
글 쓰기와 글 수정에서 Contents 는 1글자 이상 들어가야 한다.
시나리오
contents 에 id 붙이기
diaryedit.php
diarywrite.php
파일에서
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 유효성 검증 - 클라이언트 유효성 검증 - 글 생성 / 수정하기
요구사항
글 쓰기와 글 수정에서 Contents 는 1글자 이상 들어가야 한다.
시나리오
- 글 생성 / 수정시 값을 서버로 보내기 위해서는 유저가 input submit 버튼을 눌러야 한다.
- 버튼이 눌릴 때 Contents 가 1글자 이상인지 자바스크립트로 체크한다.
- Contents 의 길이를 체크해야 하기 때문에 자바스크립트에서 contents 를 식별할 수 있어야 한다. 따라서 contents 에 id 항목을 넣는다.
- 실제로 Contents가 1글자 이상인지 체크하는 자바스크립트 함수를 만든다.
- 버튼이 클릭될 때 자바스크립트 함수가 작동할 수 있도록 이벤트를 추가한다.
contents 에 id 붙이기
diaryedit.php
diarywrite.php
파일에서
<textarea name="contents" rows="3" cols="50">
부분을
<textarea name="contents" id="contents" rows="3" cols="50">
처럼 바꾼다.
Contents 길이 체크 자바스크립트 함수 만들기
코드
<script type="text/javascript">
function checkContentsLength()
{
var contents = document.getElementById('contents');
var contentsValue = contents.value;
if (contentsValue.length == 0) {
alert('contents length is 0.');
return false;
}
else
{
return true;
}
}
</script>
html 태그의 <head>와 </head> 사이에 넣는다.
작동설명
- html 문서 내에서 contents 라는 id 를 가진 태그를 가지고 와서 contents 라고 이름붙인다.
- contents 태그에는 '값' 말고도 'id'나 'name', 혹은 rows 같은 여러가지 Attribute 들이 있다. 이 중에서 '값'을 가지고 오기 위해서는 contents.value 라고 써야 한다.
contents 의 '값' 에 contentsValue 라는 이름을 붙인다. - 만약 contents 값의 글자수가 0 이면 경고를 띄우고 false를 반환한다.
- 만약 contents 값의 글자수가 0이 아니면 true를 반환한다.
diaryedit.php diarywrite.php 파일을 수정 후 저장한다.
피드 구독하기:
글 (Atom)
이럴 경우 클라이언트 검증을 거치지 않고 서버로 데이터가 전달된다.