duanjing4667 2014-11-24 06:50
浏览 15
已采纳

PHP GET和POST请求在单页中发生了什么

I have PHP code that do the following things 1-get some request parameters from parent page 2-send post request for it self and validate data 3-redirect the combined data to the next page

here is sample snippet

I am having difficult time fixing my messy code... pleas help me!

<?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>

the problem i am having is at the redirection $room_number is empty always how can i fix it?? I know i am doing a lot of stuff in single file that is because i am very beginner.

it would be great if someone can suggest me better way to so such stuff. Thank you in advanced!

  • 写回答

2条回答 默认 最新

  • dsjpik057730 2014-11-24 06:57
    关注

    You could use hidden input for room_number input.

    <?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>
    

    And then use the above code in your file. It may help you. And Why are you redirecting those variables to another register page. Just use them in itself to insert into database or anything else what you want.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?