自动生成的表单输入字段不会传递给注册表单


form input field that was automatic generated, doesnt pass to the register form

我有一个注册表形式,我使用脚本将一个位置转换为它的纬度和经度,我使用lorenzell/Geocoded Autocomplete(https://github.com/lorenzsell/Geocoded-Autocomplete/blob/master/README)

它就像一个符咒,如果我填写地址,然后在我的表单中输入id用正确的坐标填充filter_ lat和filter_。

所以我希望,如果我把它发送到register.php中的注册表中,它会看到这些坐标。但事实并非如此。。其他所有内容都已定义,只有filter_lat和filter_lang parent。尽管这些都是自动填写的,但这与它有关系吗?

    <form method="POST" action="register.php">
                                    <table>
                                    <tr>
                                        <td>
                                            Email: <br/><input type="email" name="email" class="focussed_input" size="15" /><br>
                                        </td>
                                        <td>
                                            Password: <br/><input type="password" name="password" class="focussed_input" size="15" /><br />
                                        </td>
                                    </tr>
                                    <tr>
                                        <td>
                                            Name:<br/><input type="text" name="name" class="focussed_input" size="15" /><br />
                                        </td>
                                        <td>
                                            Age: <br/><input type="text" name="age" class="focussed_input" size="15" /><br />
                                        </td>
                                    </tr>
                                    <tr>
                                        <td>
                                        Address:<br/><input type=text id="mapaddress" class="focussed_input" /><br/>
                                        </td>
                                        <td>
                                            <input type="text" id="filter_lat" style="" />                                                                                                                  
                                            <input type="text" id="filter_lng" style="" />
                                            <input type="submit" value="I'm ready!" class="button_inverse" style="padding-left: 23px; padding-right:23px; margin-top:11px;" />
                                        </td>
                                    </tr>
                                </table>
                                </form>

这就是形式,和register.php代码:

<?php
echo $_POST['filter_lat'];
echo "include";
include("config.php");
echo "test";
if(isset($_POST["email"])&& isset($_POST["password"]) && isset($_POST["name"]) && isset($_POST["age"])){
    echo"na isset";
    $email = htmlentities(mysql_real_escape_string($_POST['email']));
                if(mysql_num_rows(mysql_query("SELECT * FROM users WHERE email ='$email';")) > 0){
                    echo "email already used";
                }
                else{
                    $password = hash('sha512', $salt . mysql_real_escape_string($_POST['password']));
                    $name = htmlentities(mysql_real_escape_string($_POST['name']));
                    $age = htmlentities(mysql_real_escape_string($_POST['age']));
                    $lat = htmlentities(mysql_real_escape_string($_POST['filter_lat']));
                    $lng = htmlentities(mysql_real_escape_string($_POST['filter_lng']));
                    $id = '';
                    mysql_query("INSERT INTO users (id, email, password, name, age, lat, lng, type) VALUES ('$id', '$email', '$password', '$name', '$age', '$lat', '$lng', '0');") or die(mysql_error());
                    echo "Account creation successful!";
                }
}

?>

以前有人用过洛伦兹的自动补射器吗?或者有人知道如何解决这个问题?

提前感谢!

将filter_lat和filter_lang的id更改为name。它应该看起来像这样-

 <input type="text" name="filter_lat" style="" />                                                                                                                  
 <input type="text" name="filter_lng" style="" />

您正在服务器端使用$_POST检索数据,但无法检索没有名称的数据。所以基本上,您试图检索不存在的数据filter_lat。

属性id主要用于CSS和javascript/jQuery

问题是他们没有定义"name"属性:

<input type="text" id="filter_lat" style="" />                                                                                                                  
<input type="text" id="filter_lng" style="" />

更改为:

<input type="text" id="filter_lat" style=""  name="filter_lat"/>                                                                                                                  
 <input type="text" id="filter_lng" style="" name="filter_lng"/>