postcode.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<?PHP
$postcode = $_GET['postcode'];
$nummer = $_GET['nummer'];
$postcode = str_replace(' ', '', $postcode);
$nummer = str_replace(' ', '', $nummer);
$postcode = strtoupper($postcode);
$OK = 0;
if( preg_match("/^[1-9]{1}[0-9]{3}[A-Z]{2}$/", $postcode)) {
$OK = 1;
} else {
$OK = 0;
}
if ($OK==1){
if( preg_match("/^[0-9]*$/", $nummer)) {
$OK = 1;
} else {
$OK = 0;
}
}
// Uncomment fot test
// echo "Postcode: ".$postcode ;
// echo "<br>";
// echo "Nummer: ".$nummer;
if ($OK==1) {
// De headers worden altijd meegestuurd als array
$headers = array();
$headers[] = 'X-Api-Key: <Hier eigen registratiekey invullen>';
// De URL naar de API call
$url = 'https://postcode-api.apiwise.nl/v2/addresses/?postcode='.$postcode.'&number='.$nummer;
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
// Indien de server geen TLS ondersteunt kun je met
// onderstaande optie een onveilige verbinding forceren.
// Meestal is dit probleem te herkennen aan een lege response.
// curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
// De ruwe JSON response
$response = curl_exec($curl);
// Gebruik json_decode() om de response naar een PHP array te converteren
$data = json_decode($response);
// Uncomment fot test
/*
$addresses = $data->_embedded->addresses;
$address = $addresses[0];
$street = $address->street;
$city = $address->city->label;
Echo "<BR>Street: ";
ECHO $street;
Echo "<BR>City: ";
ECHO $city;
*/
$addressdata = $data->_embedded->addresses[0];
if ($addressdata)
{
$city = $addressdata->city->label;
$street = $addressdata->street;
$province = $addressdata->province->label;
$lat = $addressdata->geo->center->wgs84->coordinates[1];
$lon = $addressdata->geo->center->wgs84->coordinates[0];
$return_data[]= array("city"=>$city,"street"=>$street,"province"=>$province,"lat"=>$lat,"lon"=>$lon);
header('Content-type:application/json;charset=utf-8');
echo json_encode($return_data);
}
curl_close($curl);
} else {
ECHO "<BR>verkeerde parameters";
}
?>
$postcode = $_GET['postcode'];
$nummer = $_GET['nummer'];
$postcode = str_replace(' ', '', $postcode);
$nummer = str_replace(' ', '', $nummer);
$postcode = strtoupper($postcode);
$OK = 0;
if( preg_match("/^[1-9]{1}[0-9]{3}[A-Z]{2}$/", $postcode)) {
$OK = 1;
} else {
$OK = 0;
}
if ($OK==1){
if( preg_match("/^[0-9]*$/", $nummer)) {
$OK = 1;
} else {
$OK = 0;
}
}
// Uncomment fot test
// echo "Postcode: ".$postcode ;
// echo "<br>";
// echo "Nummer: ".$nummer;
if ($OK==1) {
// De headers worden altijd meegestuurd als array
$headers = array();
$headers[] = 'X-Api-Key: <Hier eigen registratiekey invullen>';
// De URL naar de API call
$url = 'https://postcode-api.apiwise.nl/v2/addresses/?postcode='.$postcode.'&number='.$nummer;
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
// Indien de server geen TLS ondersteunt kun je met
// onderstaande optie een onveilige verbinding forceren.
// Meestal is dit probleem te herkennen aan een lege response.
// curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
// De ruwe JSON response
$response = curl_exec($curl);
// Gebruik json_decode() om de response naar een PHP array te converteren
$data = json_decode($response);
// Uncomment fot test
/*
$addresses = $data->_embedded->addresses;
$address = $addresses[0];
$street = $address->street;
$city = $address->city->label;
Echo "<BR>Street: ";
ECHO $street;
Echo "<BR>City: ";
ECHO $city;
*/
$addressdata = $data->_embedded->addresses[0];
if ($addressdata)
{
$city = $addressdata->city->label;
$street = $addressdata->street;
$province = $addressdata->province->label;
$lat = $addressdata->geo->center->wgs84->coordinates[1];
$lon = $addressdata->geo->center->wgs84->coordinates[0];
$return_data[]= array("city"=>$city,"street"=>$street,"province"=>$province,"lat"=>$lat,"lon"=>$lon);
header('Content-type:application/json;charset=utf-8');
echo json_encode($return_data);
}
curl_close($curl);
} else {
ECHO "<BR>verkeerde parameters";
}
?>