2014-11-24 5 views
0

다음 작업을 수행하는 PHP 코드가 있습니다 상위 페이지에서 일부 요청 매개 변수를 가져옵니다. 2 - 게시물 자체 요청 및 데이터 유효성 확인 3 리다이렉트 다음 페이지 여기PHP Sign Up 페이지에서 GET 및 POST 요청하기

에 결합 된 데이터 샘플 조각

내가 힘든 시간을 내 지저분한 코드를 수정하는 데 문제

입니다 ... 행복은 저를 도와주세요!

<?php 

//on page load---from parent page 
if ($_SERVER["REQUEST_METHOD"] == "GET") { 

$room_number=$_GET['room_number']; 
} 


//on submit 
if ($_SERVER["REQUEST_METHOD"] == "POST") { 
    $name = $_POST["name"]; 
    $lastname = $_POST["lastname"]; 
    //do some stuff... validation 
    if($valid){ 
     // if valide redirect to ... 
     header("Location: RegisterUser.php?name=".$name."&lastname=".$lastname."&  roomnumber=".$room_number.""); 
    exit(); 

      } 
     } 

    ?> 
    <form action='<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>' method='post' > 
     <input type="text" name="name"> 
     <input type="text" name="lastname"> 

    </form> 

난 데 문제가 비어 항상 내가 그것을 어떻게 해결할 수있는 재 $의 room_number에있다? 나는 매우 초보자이기 때문에 나는 하나의 파일에서 많은 것을하고 있다는 것을 알고있다.

누군가 내게 그렇게 좋은 것을 제안 할 수 있다면 좋을 것입니다. 진보 된 감사합니다!

+0

주로 2 가지 문제가 있습니다. 'if ($ valid)'는 어디서든 초기화하지 않기 때문에 항상 동일합니다. 둘째로 요청 메소드가 포스트 일 때'$ room_number' 변수를 초기화하지 않는다 –

+0

이것은 부모 페이지의 GET 요청이 데이터를 보내지 않는다는 의미인가? 학부모 페이지는 어디에 있습니까? 룸 번호가 오는 파일입니까? – MixedVeg

+0

@MixedVeg 아니요이 페이지에 GET 요청을 보내는 다른 파일이 없습니다! – Zstudent

답변

2

room_number 입력에 숨겨진 입력을 사용할 수 있습니다.

<?php 
if(isset($_POST['submit'])) { 
    $name = $_POST['name']; 
    $lastname = $_POST['lastname']; 
    $room_number = $_POST['room_number']; 
    header("Location: RegisterUser.php?name=".$name."&lastname=".$lastname."&roomnumber=".$room_number); 
    exit(); 
} 
?> 
<form action='<?php echo $_SERVER["PHP_SELF"];?>' method='post'> 
    <input type="text" name="name"> 
    <input type="text" name="lastname"> 
    <input type="hidden" name="room_number" value="<?php echo $room_number; ?>" /> 
    <input type="submit" name="submit" value="Submit" /> 
</form> 

그런 다음 파일에 위 코드를 사용하십시오. 그것은 당신을 도울 수 있습니다. 그런 변수를 다른 등록 페이지로 리디렉션하는 이유는 무엇입니까? 데이터베이스 자체에 삽입하거나 원하는 것을 삽입하십시오.

+0

정말 대단히 감사합니다. – Zstudent

0

폼의 $ room_number를 숨김 입력 필드로 추가하여 포스트 변수로 전달할 수 있습니다.

<input type="hidden" name="room_number" value="<?php echo $room_number; ?>" />