PHP表单发布到自身

时间:2012-08-19 03:47:17

标签: php html forms

我一直试图将表单中包含的一些信息发布给自己。但我不明白为什么它不起作用。当我从HTML页面发布数据时它起作用,但是当我将信息发布到自身时它不起作用。

下面是代码:

    $country =  isset($_POST['country']) ? $_POST['country'] : 'Belize';
$number_of_guests = isset($_POST['number_of_guests']) ? $_POST['number_of_guests'] : 2;
$from =  isset($_POST['price_range_from']) ? $_POST['price_range_from'] : 200;
$to =  isset($_POST['price_range_to']) ? $_POST['price_range_to'] : 2000;

当我从HTML表单发布信息时,它工作正常,但在提交给自己时,所有变量都包含“on”的值。我不知道我错过了什么或没有正确实施。

这是HTML表单代码:

<form action="find_results.php" method = "post">
    <strong>Select the Country</strong><br />
    <input id = 'c1' type= "radio" name= "country" checked/> Mexico <br />
    <input id = 'c2' type= "radio" name= "country" /> Belize <br />
    <input id = 'c3' type = "radio" name= "country" />Jamaica <br />
    <input id = 'c4' type = "radio" name= "country" />Thailand <br />
    <input id = 'c5' type = "radio" name= "country" />Turks & Caicos 
    <hr />

    <strong>Number of Guests</strong><br />
    <input id = 'n1' type= "radio" name= "number_of_guests" /> 2
    <input id = 'n2' type= "radio" name= "number_of_guests" /> 4
    <input id = 'n3' type= "radio" name= "number_of_guests" /> 6        
    <input id = 'n4' type= "radio" name= "number_of_guests" /> 8
    <input id = 'n5' type= "radio" name= "number_of_guests" /> 10+
    <hr />

    <strong>Price Range(From)</strong><br />
    <input id = 'from1' type= "radio" name= "price_range_from" /> 200
    <input id = 'from2' type= "radio" name= "price_range_from" /> 300
    <input id = 'from3' type= "radio" name= "price_range_from" /> 400
    <input id = 'from4' type= "radio" name= "price_range_from" /> 500
    <input id = 'from5' type= "radio" name= "price_range_from" /> 600 or More 
    <hr />

    <strong>Price Range(Upto)</strong><br />
    <input id = 'to1' type= "radio" name= "price_range_to" /> 500
    <input id = 'to2' type= "radio" name= "price_range_to" /> 600
    <input id = 'to3' type= "radio" name= "price_range_to" /> 700
    <input id = 'to4' type= "radio" name= "price_range_to" /> 800
    <input id = 'to5' type= "radio" name= "price_range_to" /> 900 or More
    <br />

    <input type="submit" value="Submit" name='submit' />
</form>

2 个答案:

答案 0 :(得分:6)

表单中没有设置值。指向另一个页面时,如何这项工作?

<input id = 'c1' type= "radio" name= "country" checked value='mexico' />

您需要在表单中设置value='something',以便传递正确的数据。你可能正在将它们作为&#39; on&#39;正在传递表单元素,但在value中没有信息。

答案 1 :(得分:0)

同意Fluffeh。特定标记的“值”将转发到PHP代码。如果没有这些值,就无法获得理想的结果。

<input id = 'c1' type= "radio" value="Mexico" name= "country" checked="checked" /> Mexico <br />
<input id = 'c2' type= "radio" value="Belize" name= "country" /> Belize <br />

在PHP中,将为国家/地区设置这些值。