键入邮政编码后自动填写城市


Auto fill city after typing in zip code

输入邮政编码时,我需要自动填充CITY:表单,上面写着"未定义变量:第..行上的数组",其中value="<?php$array['navn']">

有人能帮忙吗?

http://i62.tinypic.com/hv5fkl.jpg

<div id="search">
                        <form name="input" action="" method="get">
                            POST:<input type="text" name="postcode"><br><br>
                            City:<input type="text" name="navn" value="<?php $array['navn'] ?>"><br><br>
                            <input type="submit" value="search">
                        </form> 
                    </div>

                    </div>
                   <?php
                        if(isset($_GET['postcode'])){

                        $postcode = $_GET['postcode'];
                        $content = file_get_contents('http://oiorest.dk/danmark/postdistrikter/'. $postcode . '.json');
                        $array = json_decode($content, true);

                            echo $array['navn'];
                            echo "<br>";

                        }
                    ?>

您希望始终初始化变量。发生的情况是,您试图访问一个尚未初始化的变量。

<?php
$city = ''; // initialize containers
$postcode = '';
if(isset($_GET['postcode'])){
    $postcode = $_GET['postcode'];
    $content = file_get_contents('http://oiorest.dk/danmark/postdistrikter/'. $postcode . '.json');
    $array = json_decode($content, true);
    // when the request is made, then assign
    $city = $array['navn'];
}
?>
<!-- so that when you echo, you'll never worry about undefined indices -->
<div id="search">
    <form name="input" action="" method="get">
    POST:<input type="text" name="postcode" value="<?php echo $postcode; ?>"><br><br>
    City:<input type="text" name="navn" value="<?php echo $city; ?>"><br><br>
    <input type="submit" value="search">
    </form>
</div>

在这个答案中,发生的情况是,在第一次加载时(还没有json请求),值是空的,但它们是在顶部声明的。

当您提交表单时,变量赋值就会发生,并将值替换到该容器中。

简单演示