주간 베스트 월간 베스트 3개월 베스트 베스트 게시물
연길시 신화서점 조선말 도서

자신만의 메모장! - 3.내용처리#1

광수 | 2001.10.17 00:42:24 댓글: 0 조회: 424 추천: 11
분류웹 프로그래밍 https://life.moyiza.kr/itstudy/1758823
▶ 자신만의 메모장! - 3.내용처리#1

study_input.html 문서로부터 넘겨받은 값을 study_write.php 파일에서 처리를 하게끔
했죠. study_write.php 파일을 작성 전에 알아둬야 할 사항들입니다.

먼저 이름과 메모를 파일에 어떻게 기록을 해야 할지 생각을 해봐야 합니다. 보통
하나의 파일에 내용을 계속 추가하는 방법이 있고, 메모마다 하나의 파일을 두는
방법이 있고, 또는 인덱스와 데이터 파일 등으로 나누는 경우가 있습니다.

이 강의에서는 1개의 파일을 이용하도록 하겠습니다.

보통 이름(닉)과 메모를 입력받아 이것을 파일에 추가하면 되는데, 이 정보만으론
부족하기 때문에 기록되는 시점의 날짜와 시간, 아이피 등을 추가로 기록하게 됩니다.
아이피는 $REMOTE_ADDR, 날짜와 시간은 date() 함수로 쉽게 알 수 있죠. 이미 파일
카운터에서 다뤄본 내용입니다. 이런 정보들과 더불어 입력받은 이름(닉)과 메모를
파일에 추가만 해주면 되죠.

[제목을 잘못 정한듯 싶네요. 메모장이라기보다 낙서장 쪽이 가까운데 말이죠. ^^]

이때 파일 내에 어떤 형태로 저장해야할지도 생각해야하는데 이 메모장에서는 고정
길이를 사용하도록 하겠습니다. 위에서 날짜의 경우 2001-09-25 이런 식으로 10자리만
있으면 되고, 시간은 12:56:24 이런 식으로 8자리만 있으면 됩니다. 또한 아이피는
123.123.123.123 이런 식으로 15자리만 있으면 되죠. 이름은 대략 12자리만
사용하기로 하고, 메모의 경우 100자(한글50자)까지만 사용하기로 하면 하나의 메모당
10+8+15+12+100 총 145자리(바이트)만 필요로 하게 됩니다.

[날짜와 시간을 그냥 timestamp로 저장해도 되지만, 메모장이기 때문에 단순화... ^^]

이름(닉)과 메모를 넘겨받으면 다른 정보와 결합해 총 145바이트로 가공한 뒤에 이를
파일에 계속 추가하기만 하면 됩니다.

이것보다 앞서 처리해줘야 할 사항들이 있습니다.


▷ 입력받은 값이 없을 경우의 처리

이름(닉)과 메모는 필수 입력사항이죠. 만약 이 값을 기록하지 않고 글쓰기(Memo)
버튼을 눌렀을 경우 화면에 에러 창을 띄워준 다음 다시 메모 작성화면으로 돌아가야
합니다.

이 경우 주로 아래처럼 스크립트를 이용해 처리하곤 합니다.

if (!$memo_name) { // 만약 이름(닉)이 입력되지 않았다면
  echo "<script>window.alert('내용');history.back();</script>"; // 에러내용 출력
  exit; // PHP 종료
}

화면에 에러창을 띄워준 다음 확인 버튼을 누르면 이전 화면으로 돌아가죠. 그런데
조건문을 보면 !$memo_name 이라고 했습니다. 변수에 아무런 값이 없을 경우를
뜻하는데 만약 빈 공백이라도 넣는다면 조건이 성립되지 않기 때문에 그냥 지나치게
됩니다.

그래서 보다 확실한 체크를 하기 위해서는 문자열 가공을 해야 합니다. 하지만 강의
진행상 이런 부분은 생략하고 넘어가겠습니다~ (땀;;;)

이름(닉)과 메모의 입력값 처리 때문에 위의 if문을 두번 써야겠네요. 함수로 만들어
편하게 이용할 수 있지만 몇줄 안되니까... ^^;

아래처럼 study_write.php 파일의 첫부분에 추가를 해주면 되겠죠?

if (!$memo_name) {
  echo "<script>window.alert('이름 입력해주세요~');history.back();</script>";
  exit;
}
if (!$memo_memo) {
  echo "<script>window.alert('메모 입력해주세요~');history.back();</script>";
  exit;
}


▶ 아직 처리가 끝난 것이 아니에요. 내용이 길어 또 중간에 잘랐습니다. 조금씩 많이
올리는 것이 좋겠죠? ^^

* 전설님에 의해서 게시물 이동되었습니다 (2004-05-30 17:07)
* 이동한 이유 :
* 원래의 위치 : 웹 공부 >> 웹 프로그래밍
* 이동후 위치 : 웹 공부 >>

* 전설님에 의해서 게시물 이동되었습니다 (2004-05-30 17:12)
* 이동한 이유 :
* 원래의 위치 : 웹 공부 >>
* 이동후 위치 : 웹 공부 >> 웹 프로그래밍
추천 (11) 선물 (0명)
첨부파일 다운로드 ( 1 )
memo3.zip | 1.7KB / 12 Download
IP: ♡.149.♡.65
3,006 개의 글이 있습니다.
제목 글쓴이 날짜 조회
관리자
2003-09-20
11844
관리자
2003-09-20
11394
관리자
2003-09-20
20521
지구인
2010-08-27
19325
지구인
2009-09-07
13647
SOLIDH
2010-01-29
15599
엔죠라이프
2004-10-07
16699
광수
2001-10-17
424
광수
2001-10-17
575
광수
2001-10-17
718
광수
2001-10-17
371
광수
2001-10-17
445
광수
2001-10-17
709
광수
2001-10-17
590
광수
2001-10-17
564
광수
2001-10-17
596
광수
2001-10-17
502
광수
2001-10-17
622
광수
2001-10-17
832
광수
2001-10-17
792
광수
2001-10-17
627
광수
2001-10-17
785
광수
2001-10-17
449
광수
2001-10-17
508
광수
2001-10-17
445
광수
2001-10-17
656
광수
2001-10-17
508
광수
2001-10-17
732
모이자 모바일