未定义变量在PHP后包括

问题描述:

我是新来的*(作为一个成员至少),我有一个问题。 我也是新来的PHP的方式。未定义变量在PHP后包括

事情是: 我想根据第一个下拉列表(我想显示基于所选省份的城市)动态填写第二个下拉列表。 我设法通过Javascript中的AJAX调用将选定省份转换为外部PHP文件。 但是,当我将外部PHP文件包含在我的原始PHP文件中时,外部文件的变量未定义。 在第一个下拉菜单中使用onchange事件触发AJAX调用。

也许你也可以帮助我如何使用该变量在第二个下拉列表中获取正确的内容。我为此使用了多维数组。

HTML:

echo('<select name="provincie" id="provincie"  onchange="ProvinciePHP()">'); 


    foreach ($provincie as $provincies){ 
     echo ("<option> $provincies </option>"); 
    } 
    echo ('</select>'); 


echo('<select name="stad" id="stad"> </select>') 

PHP数组:

$provincie = array(
    'Selecteer een provincie', 
    'Drenthe', 
    'Flevoland', 
    'Friesland', 
    'Gelderland', 
    'Groningen', 
    'Limburg', 
    'Noord-Brabant', 
    'Noord-Holland', 
    'Overijssel', 
    'Utrecht', 
    'Zeeland', 
    'Zuid-Holland', 
); 
$stad = array(
    'Drenthe'  => array("Assen", "Emmen", "Hoogeveen", "Meppel"), 
    'Flevoland'  => array("Almere", "Biddinghuizen", "Dronten", "Lelystad"), 
    'Friesland'  => array("Heerenveen", "Joure", "Leeuwarden", "Sneek"), 
    'Gelderland' => array("Apeldoorn", "Arnhem", "Nijmegen", "Zutphen"), 
    'Groningen'  => array("Delfzijl", "Groningen", "Stadskanaal", "Veendam"), 
    'Limburg'  => array("Maastricht", "Roermond", "Sittard", "Venlo"), 
    'Noord-Brabant' => array("Breda", "Den Bosch", "Eindhoven", "Tilburg"), 
    'Noord-Holland' => array("Alkmaar", "Amsterdam", "Haarlem", "Hilversum"), 
    'Overijssel' => array("Deventer", "Enschede", "Hengelo", "Zwolle"), 
    'Utrecht'  => array("Amersfoort", "Breukelen", "Utrecht", "Zeist"), 
    'Zeeland'  => array("Goes", "Middelburg", "Terneuzen", "Vlissingen"), 
    'Zuid-Holland' => array("Alphen a/d Rijn", "Den-Haag", "Rotterdam", "Schiedam"), 
); 
+0

似乎缺少了很多代码,你会得到一个PHP错误?如果有的话包括它 – nogad

+0

你说它包含后未定义,我会假设它的工作原理,当你不使用包含,所以我猜问题是你不包括相对URL。 – bendouglas

+0

您需要显示执行AJAX调用的Javascript以及它调用的脚本。 – Barmar

function getProvincie(){ 
var provincie = $('#provincie option:selected').val(); 

$.ajax({ 
    type: "POST", 
    url: "getprovincie.php", 
    data: {data: provincie}, 
    success: function(data) { 
     alert(data); 
     $('#stad').css('display','inline'); 
    }, 
    error: function(data) { 

    } 
}); 

}

//PHP page to where the AJAX call points: 
<?php 
$resultaat = $_POST['data']; 

echo($resultaat);