2014-04-04 3 views
2

내 이메일로 데이터를 보내는 3 단계 php 양식을 사용하고 있습니다. 나는 그것을 위해 세 가지 다른 PHP 파일을 사용합니다.다중 단계 php 양식

첫 번째 양식은 데이터를 $_SESSION으로 저장하고 다음 양식으로 리디렉션해야합니다. 두 번째 형식은 똑같습니다. 그러나 세 번째 (마지막) 양식을 완성하면 세 번째 양식의 데이터 만 전송됩니다. 처음 두 양식에서 저장된 데이터를 가져 오지 않습니다.

php 5.3+ version으로 session_register();을 사용할 수 없습니다. 다음은 모든 양식 스크립트입니다. 여기

Form 1 and Form 2

그리고 Form 3

내가 놓친 모르겠어요 있습니다. 입력 데이터를 저장하고 사용하는 다른 방법이 있습니까? 어떤 도움을 주시면 감사하겠습니다. 감사.

답변

3

이전에 사용한 모든 데이터를 같은 이름의 숨겨진 입력 (<input type="hidden">)에 저장하는 방식을 사용했습니다. 그렇게하면 그들은 모두 $_POST[]에 액세스 할 수 있습니다.

참고 : 이렇게하면 마지막 단계에서 암호 필드를 사용하십시오. HTML에 암호를 일반 텍스트로 넣으면 안됩니다.

0

코드에 문제가 있음을 알기 위해서는 세션 변수가 설정되기 전에 redirection 헤더를 넣어야합니다.

내 말은,이 부분 : header('Location: second_page.php');

+0

가 네, 아마 문제가되기 전에

$_SESSION['condition_home'] = $_POST['condition_home']; $_SESSION['selling_plan'] = $_POST['selling_plan']; $_SESSION['comment'] = $_POST['comment']; 

가 있어야한다. 그러나 어떻게 해결할 수 있습니까? 어떠한 제안? – imran

+0

'$ _SESSION' 부분을'header' 바로 앞에 넣으십시오. – iamsleepy

+0

실은 할 수 없습니다. Form1에는 하나의 세션이 있으며 두 번째 양식으로 리디렉션됩니다. 두 번째 형식에는 세 가지 형식이 있으며 세 번째 형식으로 리디렉션됩니다. 세 번째 양식은 form1, form2에서 저장된 모든 세션을 수집합니다. 그것이 작동해야하는 방법입니다. 리디렉션 전에 $ _SESSION을 저장하는 방법을 찾아야한다고 생각합니다. 더 이상의 제안? – imran

관련 문제