从查询字符串获取变量

时间:2012-05-22 09:19:40

标签: php

我试图从URL获取Query String中的变量。但不知何故,它只是得到一个变量,而不是从querystring中获取所有变量。我真的不知道我的代码出了什么问题。这是我想要从invalidate表单中打印错误的代码:

<?php       
            displayForm();
            function displayForm(){
                ?>                    
                <form action="./prod_add_action.php" method="post" name="addproductForm">
                    <fieldset>
                        <legend>Online Ordering System Setup</legend>                        
                        <label for="product_name">Product Name: </label><input type="text" name="product_name" value="" /><?php echo $_GET["name_error"]; ?>
                        <label for="product_date">Product Date: </label><input type="text" name="product_date" value="" /><?php echo $_GET["date_error"]; ?>
                        <label for="product_price">Product Price: </label><input type="text" name="product_price" value="" /><?php echo $_GET["price_error"]; ?>
                        <input name="add_button" type="submit" value="Add" />
                        <input name="reset_button" type="reset" value="Clear" />
                    </fieldset>
                </form>
                <?php
            }
            ?>

以下是我创建查询字符串的代码:

$query_string = "name_error=" .urlencode($name_error) ."&amp;date_error=" .urlencode($date_error) ."&amp;price_error=" .urlencode($price_error);
            header("Location: ./prod_add.php?$query_string");
            exit();             

在第一个代码中,页面只打印第一个$ _GET ['name_error'],而它应该包含$ _GET ['date_error']和$ _GET ['price_error。 “] 这是地址:

  

http://example.com/prod_add.php?name_error=Product+name+must+be+characters+only&date_error=Product+date+must+be+input+as+this+formate+DD-MM-YYYY&price_error=Product+price+must+be+float+number+only

2 个答案:

答案 0 :(得分:3)

您应该使用&代替&amp;吗?

$query_string = "name_error=" .urlencode($name_error) ."&date_error=" .urlencode($date_error) ."&price_error=" .urlencode($price_error);
            header("Location: ./prod_add.php?$query_string");
            exit();   

答案 1 :(得分:1)

&amp;更改为&

$query_string = "name_error=" . urlencode($name_error) . "&date_error=" . urlencode($date_error) . "&price_error=" . urlencode($price_error);
header("Location: ./prod_add.php?$query_string");
exit();