>  기사  >  백엔드 개발  >  양식 제출 오류 후 입력 내용을 반환하고 유지하는 방법에 대한 자세한 설명

양식 제출 오류 후 입력 내용을 반환하고 유지하는 방법에 대한 자세한 설명

*文
*文원래의
2018-01-05 18:00:312582검색

양식 제출 오류 후 반환된 콘텐츠가 사라지면 어떻게 해야 하나요? 오늘은 이 문제를 분석하고 해결해 보겠습니다. 이 글에서는 주로 양식 제출 오류 후 반환된 콘텐츠가 사라지는 문제에 대한 해결 방법을 소개합니다. 그것이 모두에게 도움이 되기를 바랍니다.

상황 개요:

양식 정보를 작성하고 제출할 때 직면하게 되는 문제는 사용자가 양식을 작성하고 제출한 후 프로그램이 요구 사항을 충족하지 않는다고 판단하여 반환하는 것입니다. , 이전에 입력한 양식 정보가 삭제됩니다. 입력하는 정보의 양이 적으면 상관없지만, 입력하는 정보의 양이 상대적으로 많으면 정보를 입력하는 사람의 기분에 직접적인 영향을 미치게 됩니다. 따라서 양식 제출 오류가 반환된 후 입력한 내용이 사라지는 문제를 해결하는 것이 사용자 경험 개선을 위해 시급한 문제입니다.
이러한 문제에 대해 다음과 같은 상황을 정리했습니다.
(1) 해당 페이지는 session_start 함수를 사용하는데, 이 함수는 현재 페이지를 강제로 새로 고치지 않게 하는 특성이 있습니다. 이에 대한 해결 방법은 다음과 같습니다. function 다음 코드:

header("Cache-control:private");//注意在本行之前你的PHP程序不能有任何输出

session_start 앞에

session_cache_limiter('nocache'); //清空表单 
session_cache_limiter('private'); //不清空表单,只在session生效期间 
session_cache_limiter('public'); //不清空表单,如同没使用session一般

를 추가하는 방법이 여러 가지 있습니다. 위의 설정 세션을 사용하면 세션이 캐시되므로 세션 정보에 적용하면 해당 세션이 나타납니다. 이러한 이유로 이 문서에서는 아래에 몇 가지 다른 해결 방법을 제안합니다.
(2) Header 메서드를 사용하여 메시지 헤더 Cache-control을 설정하고 페이지에 다음 코드를 추가합니다.
header('Cache-control: private, must-revalidate') //페이지 반송 지원, 출력이 있는 경우 이전에는 이 줄을 사용할 수 없습니다.
(3) session_cache_limiter 메서드를 사용하고 페이지에 다음 코드를 추가합니다.
session_cache_limiter('private, must-revalidate') //반드시 session_start 메소드 앞에 작성하세요
아래 Cache-Control 메시지를 확인하세요. 헤더 필드에 대한 추가 설명:
Cache-Control은 요청과 응답이 뒤따르는 캐싱 메커니즘을 지정합니다. 요청 메시지 또는 응답 메시지에서 Cache-Control을 설정해도 다른 메시지를 처리하는 동안 캐싱 프로세스가 수정되지 않습니다. 요청 중 캐시 지침에는 no-cache, no-store, max-age, max-stale, min-fresh, only-if-cached가 포함됩니다. 응답 메시지의 지침에는 공개, 비공개, no-cache, no-store가 포함됩니다. , 변환 없음, 재검증 필수, 프록시 재검증, 최대 수명. 각 메시지에 있는 지침의 의미는 다음과 같습니다.

공개: 응답이 모든 캐시에 의해 캐시될 수 있음을 나타냅니다.

개인: 단일 사용자에 대한 응답 메시지의 전체 또는 일부를 공유 캐시에서 처리할 수 없음을 나타냅니다. 이를 통해 서버는 다른 사용자의 요청에 유효하지 않은 사용자의 부분 응답만 설명할 수 있습니다.

no-cache: 요청 또는 응답 메시지를 캐시할 수 없음을 나타냅니다.

no-store: 중요한 정보가 실수로 공개되는 것을 방지하는 데 사용됩니다. 요청 메시지에 포함하여 보내면 요청 메시지와 응답 메시지 모두 캐싱을 사용하게 됩니다.

max-age: 클라이언트가 지정된 시간(초)보다 크지 않은 수명으로 응답을 받을 수 있음을 나타냅니다.

min-fresh: 클라이언트가 현재 시간에 지정된 시간을 더한 것보다 짧은 응답 시간으로 응답을 받을 수 있음을 나타냅니다.

max-stale: 클라이언트가 제한 시간 이후에 응답 메시지를 받을 수 있음을 나타냅니다. max-stale 메시지 값을 지정하면 클라이언트는 지정된 제한 시간 값을 초과하는 응답 메시지를 수신할 수 있습니다.

이 글을 읽고 비슷한 문제가 발생하면 이 해결 방법은 PHP 웹사이트에만 해당된다는 점을 기억하세요.

관련 권장 사항:

PHP를 사용하여 두 문자열의 가장 긴 공통 하위 문자열을 찾는 방법에 대한 자세한 설명

PHP가 vcf vcard 파일을 생성하는 방법에 대한 자세한 설명

PHP에 대한 자세한 설명 의 고정밀 BC 연산 함수 라이브러리

위 내용은 양식 제출 오류 후 입력 내용을 반환하고 유지하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.