2009-04-08 6 views
0

나는 사용자가 작성하는 상당히 긴 HTML 양식을 가지고 있습니다. 그것을 작성한 후, 사용자는 제출중인 데이터의 미리보기를 제공받습니다. 거기서 그들은 데이터를 시스템에 적용하거나 되돌아 가서 편집 할 수 있습니다. 이 미리보기 단계를 처리하는 최선의 방법이 무엇인지 궁금합니다. 내가 가진 몇 가지 아이디어가 있습니다 : 의 쿠키에양식 미리보기로 제출

  • 스토어 형태로 데이터를 미리
  • 스토어 나타내는 상태 열이 DB에 데이터를 넣어 세션
  • 에서 양식 데이터, 예 : 미리보기

이렇게 미리보기를 만들 때 주로하는 일은 무엇입니까? 고려해야 할 다른 문제가 있습니까?

답변

3

숨겨진 필드()로 데이터를 넣습니다.

쿠키 또는 세션이 아닌 이유는 무엇입니까? - 사용자가이 데이터를 삭제하기로 결정하면 다른 페이지로 이동할 수 있습니다. 그가 나중에 돌아와서 데이터를 그대로 보았을 때 그는 아마도 놀랐을 것입니다.

왜 데이터베이스가 아닌가요? - 사용자가 브라우저를 닫으면 누가 데이터베이스의 데이터를 정리합니까? ... 나는 이것을 위해 크론 작업을 쓰지 않을 것입니다.

1

이것이 최선의 방법인지 확실하지 않지만이 작업을 수행 할 때 세션에 넣었습니다. 나는 세션이 나에게 충분하기 때문에 사용자가 하나의 세션 동안 데이터를 미리보고 제출/재 편집 할 것을 기대했다.

미리보기를 사용자 컴퓨터에 유지하려면 쿠키를 사용해야합니다. 즉, 사용자가 단일 세션 중에 미리보기를 재검토하거나 다시 편집 할 필요는 없지만이 작업과 다음 작업 사이에 브라우저를 닫을 수 있음을 의미합니다. 다음 세션에서 미리보기로 돌아갑니다. 이 aproach를 사용하면 사용자가 브라우저에서 쿠키를 거부 할 수 있음을 고려해야합니다. 그래서 사람들은 대개 세션을 쿠키와 함께 결합합니다.

미리보기 및 편집 작업을 어떻게 든 추적하고 저장하려는 경우가 아니면 데이터베이스 (상태 열 포함)에 데이터를 저장하지 않아도됩니다. 데이터베이스를 테이블의 서랍으로 상상할 수 있습니다. 저장하고 나중에 찾으려는 항목이있는 문서를 넣을 수 있습니다. 미리보기 초안을 그리는 중이고 결과를 제출 한 후에 최종 버전 만 서랍/데이터베이스에 저장되고 미리보기가 구겨지고 제거됩니다. 데이터베이스에 넣지 않는 것보다 더 빠릅니다. 그러나 어떤 이유로 든 나중에 초안을 검토 할 생각이라면 데이터베이스에 저장해야합니다.

나는 내 영어에 분명 잘 모르겠어요,하지만 난 내 최선을 다했다 : D

+0

DB에 대한 좋은 지적이지만 나중에 사용하고 싶지 않으면 미리보기 데이터를 저장하지 않아도됩니다. –

0

나는 양식을 처음부터 작성하는 것이 얼마나 어려운에 기반을 측정하는 것입니다. 장기간의 프로세스 (예 : 모기지 관련 정보)와 사용자 로그인이있는 경우 미완료 된 양식을 저장하고 나중에 다시 방문 할 기회를 제공 할 수 있습니다.

세션은 (설정에 따라) 한 시간 미만의 작업에만 유용합니다. 시작하기 쉽고 끝내기 쉬운 데이터의 수동 입력 (CD/DVD 카탈로그 작성과 같은)은 세션을 저장하는 데 적합합니다. 마찬가지로, 사람이 일부 문서 (다시 말하지만, 모기지 응용 프로그램이나 온라인 세금 양식 등)를 중단하고 뿌리를 뽑아야하는 경우, 세션 시간이 초과되면 실제로 화를 냈을 것입니다. 정보를 다시 입력해야합니다.

쿠키에 내용을 직접 삽입하지 않아도됩니다. 데이터가 후속 요청에 전달되고 기본 세션 기능에 이미 액세스하고 있기 때문입니다. 당신이 DB로가는 경우에 그래서 당신

, 당신은 액세스 타임 스탬프를 할 필요 ('내 2008 모기지 문서'등의 사용자의 결정에 따라 당신은 그냥 저장된 이름으로 주위를 떠나지 않는 가정)합니다 나중에 청소할 수 있습니다. 사용자가 중간 양식을 저장하는 경우 양식을 완성하거나 삭제할 때까지 그대로 두십시오.