0

我试图从 URL 获取查询字符串中的变量。但不知何故,它只是得到一个变量,而不是从查询字符串中获取所有变量。我真的不知道我的代码出了什么问题。这是我想从无效表单中打印出错误的代码:

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

4

2 回答 2

3

您应该使用&而不是&amp;'s ?

$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();   
于 2012-05-22T09:21:50.920 回答
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();  
于 2012-05-22T09:25:58.130 回答