2013-11-21 2 views
1

양식 값을 다른 양식의 다음 페이지로 전달하는 방법은 무엇입니까?양식 값을 다른 양식의 다음 페이지로 전달하는 방법

는 나는이 코드를 가지고 :

지금은이 값으로 몇 가지 숨겨진 입력 필드를 넣어 confirm.php에, 나는이 코드를 시도 것을 원하는
<form action="confirm.php" method="post"> 
First name: <input type="text" name="firstname"><br> 
Last name: <input type="text" name="lastname"><br> 
Email: <input type="text" name="email"> 
</form> 

:

<form action="nextpage.php" method="post"> 

//some other input fields... 

<input type="hidden" name="firstname" value="<?php $_POST['firstname']?>"> 
<input type="hidden" name="lastname" value="<?php $_POST['lastname']?>"> 
<input type="hidden" name="email" value="<?php $_POST['email']?>"> 
</form> 

그래서를 다른 두 페이지에서 그리고 마지막 페이지에서이 필드를 모두 전자 메일로 보내고 싶습니다. PHP _SESSION을 사용해 보았습니다.하지만 그걸로는 아무런 문제가 없습니다. 그래서 더 쉽게 생각할 수 있습니다!

그리고 나는이 코드를 사용하여 파일을 참조 두 번째 페이지 (nextpage.php) 행동 양식 변수에 말할 것을 잊었다 뭔가 다른 :이 경우

<?php 
header('Location: dear-'.$_POST['firstname'].'.php'); 
?> 

<html> 
<form> 
    <input type="hidden" name="firstname" value="<?php echo $_POST['firstname']?>"> 
    <input type="hidden" name="lastname" value="<?php echo $_POST['lastname']?>"> 
    <input type="hidden" name="email" value="<?php echo $_POST['email']?>"> 
</form> 
</html> 

하는 방법이 값을 통과 할 (이름, 성 및 이메일)을 다음 페이지에 표시 하시겠습니까? 나는이 www.site.com/dear-name.php

+2

작성해야한다는 것입니다 [ 'FIRSTNAME']; ?> – Mattt

+0

나는이 포스트가 또한 도움이 될지도 모른다 믿는다; http://stackoverflow.com/questions/5576619/php-redirect-with-post-data – Hozikimaru

+0

불과했지만, 나는 이메일을 보낼 때 나는'세션에서 값을 유지 –

답변

1

이 시도 것을 사용합니다.

<input type="hidden" name="firstname" value="<?php echo $_POST['firstname']; ?>"> 


업데이트 : session

  1. 저장 데이터와 다른 페이지로 검색 :

    당신은 두 가지 선택이있다.

  2. query string을 사용하여 데이터를 전달하십시오.

    <input type="hidden" name="firstname" value="<?php echo $_POST['firstname']; ?>"> 
    <input type="hidden" name="lastname" value="<?php echo $_POST['lastname']; ?>"> 
    <input type="hidden" name="email" value="<?php echo $_POST['email']; ?>"> 
    

    이 여전히 작동하지 않는, isset() 게시물 변수 경우 :

    header('Location: dear-'.$_POST['firstname'].'.php?firstname='.$_POST['firstname'].'&lastname='.$_POST['lastname'].'&email='.$_POST['email']); 
    
+0

저의 마지막 업데이트를 확인하십시오. –

+0

@SarahCollin .. 업데이트 된 답변을 확인하십시오. –

+0

그 일을 생각합니다. 감사. –

2

같은 페이지를 생성하기 원하기 때문에 confirm.php 당신은 당신의 변수를 echo 깜빡

<form action="nextpage.php" method="post"> 

//some other input fields... 

<input type="hidden" name="firstname" value="<?php echo $_POST['firstname']?>"> 
<input type="hidden" name="lastname" value="<?php echo $_POST['lastname']?>"> 
<input type="hidden" name="email" value="<?php echo $_POST['email']?>"> 
</form> 
+0

그 질문에 대한 나의 마지막 업데이트를 확인하십시오! –

+0

이 경우 url을 통해 매개 변수로 전달할 수 있습니다. – Jenz

0

사용 에코하여 입력 텍스트 필드에

if(isset($_POST['firstname'],$_POST['lastname'],$_POST['email'])) { 
    $firstname = $_POST['firstname']; 
    $lastname = $_POST['lastname']; 
    $email  = $_POST['email']; 

    echo '<input type="hidden" name="firstname" value="$firstname">'; 
    echo '<input type="hidden" name="lastname" value="$lastname">'; 
    echo '<input type="hidden" name="email" value="$email">'; 
} 
+0

이 오류가 발생합니다. 구문 분석 오류 : 구문 오류,/public_html/test/dear의 예기치 않은 T_IF. php on line 4. 줄 4는 다음 코드입니다 : if (isset ($ _ POST [ 'firstname'], $ _ POST [ 'lastname'], $ _ POST [ 'email'])) { –

0

, 값이 비어 echo가 없기 때문에. 양식에 값을 인쇄하려면 echo을 추가해야합니다. 그래서 다른 페이지로 보낼 수 있습니다.

+0

더 이해할 수있는. –

+0

@Bavik Shah 고마워, 나는 같은 것을 편집했다. –

0

두 번째 옵션은 각 페이지 상단에 session_start()을 사용할 수 있다는 것입니다. 변수의 값을 세션에 저장하십시오.

$_SESSION['name'] = "value_of_session"// in your case that is POST data 

그리고 다음 페이지에서 사용할 수 있습니다.?

가장 중요한 것은 당신이 <$ _POST 에코 PHP 값을 에코 필요

<?php session_start() ?> // in each(you've three) page. 
관련 문제