2013-04-05 4 views
4

간단한 질문입니다.양식간에 데이터를 유지하기 위해 PHP 세션을 사용하는 것이 맞습니까?

데이터를 약간 캡처하고 유효성을 검사 한 다음 동일한 사이트의 다른 페이지에 게시하는 양식이 있습니다. 헤더()를 사용하여 오류가없는 경우에는 리디렉션하지만 분명히 데이터는 게시물에 전송되지 않습니다.

두 페이지간에 데이터를 유지하기 위해 세션을 사용하는 것이 맞습니까?

감사합니다.

+2

넵. 이것은 전적으로 허용됩니다. – Rawkode

+0

유일한 문제는 앱을 제공하는 기계가 2 대 이상 필요한 상황에 처한 경우입니다. 그런 다음 세션에 문제가 있습니다 ... 캐시 또는 DB와 같은 공유 데이터 소스에서 데이터를 유지해야합니다. –

+1

로드 밸런서와 여러 서버를 다루는 것이 초기 질문에서 조금 벗어난 것 같지만 여전히 기술적으로 유효합니다. – Rawkode

답변

3

을 비울 크론 작업을 생성 할 수 있습니다

().

$url = "www.example.com?variable=value&id=something"; 
I.e. header('Location: $url'); 
0

"플래시 메시지"는 이러한 종류의 문제가 없으므로 사용자가 페이지를 새로 고침하고 걱정할 필요가있는 경우 양식을 다시 제출하지 못하도록하는 좋은 방법입니다. 메시지를 표시 한 후에 세션 바의 설정을 해제하라고 상기시킵니다.

0

예, 올바른 방법입니다.

그러나 상황에 따라 숨겨진 변수, iframe 등 다른 대안도 있습니다. 전체 상황을 설명 할 수 있다면 데이터의 특성에 따라 훨씬 정확한 대답을 제공 할 수 있습니다.

0

서버 측 (세션) 또는 클라이언트 측 (쿠키)에 데이터를 저장할 수 있습니다. 선택한 방법은 데이터 및 보안 문제의 종류에 따라 다릅니다.

또한

당신이 그것을 저장하지 않고 직접 새로운 형태의 PHP를 통해 게시 된 데이터를 삽입 할 수 있습니다 -하지만 당신이

0

예를 그렇게 할 수 헤더를 통해 리디렉션 경우 작동하지 않습니다,하지만 훨씬 더 안전을 위해 추가 DUMMY 같은 무언가가있는 DB에서. 이것에 의해 당신이 폐기해야한다면 더미 레코드를 버릴 수 있습니다. 하지만 최근에 추가되어 진행중인 레코드를 삭제하지 않도록 타임 스탬프가 필요합니다. 당신은 또한 당신은 단지 두 번째 페이지에 데이터가 필요하고 데이터가 민감하지 않은 경우, 당신은뿐만 아니라 헤더에 데이터를 전달할 수있는 경우 테이블

관련 문제