Merhaba, curl ile ziyaretçi bilgilerini alıp veritabanına kaydetmek için uğraşıyorum. JSON veriyi parçaladım alanlara göre ayarladım ama bir türlü veritabanına kaydettiremedim. 1 gündür bakıyorum yanlışımı bulamıyorum. Hatamı düzeltmem konusunda yardımcı olmanızı rica ediyorum.
<?php
include "baglan.php";
error_reporting(E_ALL);
ini_set("display_errors", 1 );
// Initialize cURL.
$ch = curl_init();
// Set the URL that you want to GET by using the CURLOPT_URL option.
curl_setopt($ch, CURLOPT_URL, 'https://ipgeolocation.abstractapi.com/v1/?api_key=c2fd959b56b34c8a807201529c6cac3d');
// Set CURLOPT_RETURNTRANSFER so that the content is returned as a variable.
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Set CURLOPT_FOLLOWLOCATION to true to follow redirects.
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
// Execute the request.
$data = curl_exec($ch);
// Close the cURL handle.
curl_close($ch);
// Print the data out onto the page.
$jsonVeri = json_decode($data, true);
$veri = [
'ipadresi' => $jsonVeri['ip_address'],
'ulke' => $jsonVeri['country'],
'sehir' => $jsonVeri['city'],
'postakodu' => $jsonVeri['postal_code'],
'kita' => $jsonVeri['continent'],
'enlem' => $jsonVeri['longitude'],
'boylam' => $jsonVeri['latitude'],
'saataralik' => $jsonVeri['timezone']['name'],
'ziyaretsaati' => $jsonVeri['timezone']['current_time'],
'bayrak' => $jsonVeri['flag']['svg'],
'operator' => $jsonVeri['connection']['autonomous_system_organization'],
'baglanti' => $jsonVeri['connection']['connection_type'],
'servis' => $jsonVeri['connection']['isp_name']
];
if(!empty($veri)){
$kaydet=$db->prepare("INSERT into ziyaretci set
ipadresi=:ipadresi,
ulke=:ulke,
sehir=:sehir,
postakodu=:postakodu,
kita=:kita,
enlem=:enlem,
boylam=:boylam,
saataralik=:saataralik,
ziyaretsaati=:ziyaretsaati,
bayrak=:bayrak,
operator=:operator,
baglanti=:baglanti,
servis=:servis
");
$insert=$kaydet->execute(array(
'ipadresi' => $veri['ipadresi'],
'ulke' => $veri['ulke'],
'sehir' => $veri['sehir'],
'postakodu' => $veri['postakodu'],
'kita' => $veri['kita'],
'enlem' => $veri['enlem'],
'boylam' => $veri['boylam'],
'saataralik' => $veri['saataralik'],
'ziyaretsaati' => $veri['ziyaretsaati'],
'bayrak' => $veri['bayrak'],
'operator' => $veri['operator'],
'baglanti' => $veri['baglanti'],
'servis' => $veri['servis']
));
if ($insert) {
echo "Başarılı";
exit;
} else {
echo "Başarısız";
exit;
}
}
?>