2011-03-16 2 views
0

PHP가 정의하는 방법이 있나요? 사용자가 특정 페이지에서 왔습니까? "게시물"요청없이
"게시물 추가"페이지가 있습니다. 사용자가 게시물을 제출하면 다음 페이지에서 더 많은 정보를 제출할 수 있습니다. 그러나 사용자가 브라우저에서 "뒤로"를 클릭하면 그는 빈 "add post"양식으로 돌아가고, 사용자가 이전에 제출 한 정보를 수정할 수 있지만,이 두 번째 페이지에서 다시 누르면됩니다.사용자가 특정 페이지에서 왔다고 정의합니까? (PHP에서)

$_SERVER['HTTP_REFERER'] - 작동하지 않는 것 같습니다.
아마 두 번째 페이지의 $_SESSION에 일부 데이터를 설정할 수 있으며 첫 번째 페이지를 제외한 다른 모든 페이지에는 셀라가 표시 될 수 있습니다.

+0

@ Grom S, 이전 페이지로 돌아가고 모든 양식 필드가 채워진 수정 버튼을 만드는 것이 어떻습니까? 해당 페이지를 입력 할 때 특정 세션 값을 확인하여 편집 또는 새 제출인지 여부를 확인할 수 있습니다. –

+0

세션이 왜 영리하지 않아야합니까? 귀하의 시나리오는 그것을 구현하는 것입니다 .. – konsolenfreddy

+0

@ 닉 네, 할 수 있습니다. 그러나 사용자가 브라우저에서 "뒤로"버튼을 선호하면 어떻게 될까요? 또는 어쩌면 디자인은 사용자 친화적이지 않습니다. 결국 나는 사용자가 버튼을 다시 클릭하지 않아도 될 것입니다. –

답변

0

PHP $ _SESSION은 (특히 $ _POST를 사용할 수없는 경우) 임시 데이터를 저장하기위한 훌륭한 수정 프로그램입니다. 모든 페이지가 아닌 SESSION 값을 한 번만 지워야합니다.

나는 당신이 묻고있는 것에 대해 100 % 명확하지 않지만, $ _SERVER에서 다른 값들을 살펴 보시기 바랍니다. 그들은 당신이 필요로하는 것을 가질 수 있습니다.

+0

다른 해결책이 기억 나지 않습니다. 여전히 동일한 사용자가 사이트의 여러 페이지에서 여러 탭을 열 수 있다고 생각하면이 메커니즘이 100 % 정확하지 않을 수 있음을 이해할 수 있습니다. 2 페이지를 사용하는 대신 1 페이지가 아니라 각 단계에 숨겨진 'divs'가 표시되는 이유는 무엇입니까? – AlfaTeK

+0

어떻게 $ _SESSION을 한 번 정리할 수 있습니까? 사용자가 다른 페이지에서 왔을 때이 값은 여전히 ​​존재합니다. 어디에서 그걸 정리해야합니까? –

+0

세션은 모든 페이지에서 동일합니다. 사용 직후에 지우십시오. 여러 탭에 대해서는 숨겨진 div가 여전히 동일한 문제를 겪을 것이라고 생각합니다. 더 정확한 답변을 위해서는보다 구체적인 코드가 필요합니다. = D – Ryre

관련 문제