2016-09-14 110 views
0

我是新來的stackoverflow(作爲一個成員至少),我有一個問題。 我也是新來的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

回答

0
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);