<?php
$title = $pages[$cur_page]["Name"]." - ".HCSGP_DEFTITLE;
$durum = FALSE;
$message = '';
function karakterDuzelt($yazi){
$ara=array("ç","i","ı","ğ","ö","ş","ü");
$degistir=array("Ç","İ","I","Ğ","Ö","Ş","Ü");
$yazi=str_replace($ara,$degistir,$yazi);
$yazi=strtoupper($yazi);
return $yazi;
}
if( isset($_POST["ogcp_adduser"]) ) {
$_POST["user_group"] = 1;
if(@$_POST["user_email"] != "" && @$_POST["user_year"] != "" && @$_POST["user_lastname"] != "" && @$_POST["user_tc"] != "" && @$_POST["user_pass"] != "" && @$_POST["user_name"] != "" && @$_POST["user_city"] != "" && @$_POST["user_address"] != "" && @$_POST["user_telephone"] != "" && (int)@$_POST["user_group"] > 0 && (int)@$_POST["user_group"] < 4) {
$_POST["ShowMachine"] = 0;
$_POST["ShowServers"] = 0;
$_POST["ShowUsers"] = 0;
$_POST["ShowAnnouncements"] = 0;
$_POST["ShowTickets"] = 0;
$_POST["ShowPlugins"] = 0;
$_POST["ShowFiles"] = 0;
if (!filter_var($_POST["user_email2"], FILTER_VALIDATE_EMAIL)) {
$message = "Geçerli bir Email Adresi girin!";
}
else{
$ad = karakterDuzelt(trim($_POST["user_name"]));
$soyad = karakterDuzelt(trim($_POST["user_lastname"]));
$tcKimlikNo = $_POST["user_tc"];
$dogumYili = $_POST["user_year"];
function tcno_dogrula($bilgiler){
$gonder = '<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<TCKimlikNoDogrula xmlns="http://tckimlik.nvi.gov.tr/WS">
<TCKimlikNo>'.$bilgiler["tcno"].'</TCKimlikNo>
<Ad>'.$bilgiler["isim"].'</Ad>
<Soyad>'.$bilgiler["soyisim"].'</Soyad>
<DogumYili>'.$bilgiler["dogumyili"].'</DogumYili>
</TCKimlikNoDogrula>
</soap:Body>
</soap:Envelope>';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://tckimlik.nvi.gov.tr/Service/KPSPublic.asmx" );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt($ch, CURLOPT_POST, true );
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $gonder);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'POST /Service/KPSPublic.asmx HTTP/1.1',
'Host: tckimlik.nvi.gov.tr',
'Content-Type: text/xml; charset=utf-8',
'SOAPAction: "http://tckimlik.nvi.gov.tr/WS/TCKimlikNoDogrula"',
'Content-Length: '.strlen($gonder)
));
$gelen = curl_exec($ch);
curl_close($ch);
return strip_tags($gelen);
}
$bilgiler = array(
"isim" => $ad,
"soyisim" => $soyad,
"dogumyili" => $dogumYili,
"tcno" => $tcKimlikNo
);
$adsoyad = $_POST["user_name"]." ".$_POST["user_lastname"];
$sonuc = tcno_dogrula($bilgiler);
if($sonuc=="true"){
$status = Adm_AddUser($tcKimlikNo,$_POST["user_email"],$_POST["user_email2"],$_POST["user_comment"],$_POST["user_pass"],$adsoyad,$_POST["user_city"],$_POST["user_address"],$_POST["user_telephone"],$_POST["user_group"],$_POST["ShowMachine"],$_POST["ShowServers"],$_POST["ShowUsers"],$_POST["ShowAnnouncements"],$_POST["ShowTickets"],$_POST["ShowPlugins"],$_POST["ShowFiles"]);
if($status > 0) {
$message = "Kayıt Başarılı! Yönlendiriliyorsunuz..";
echo '<meta http-equiv="refresh" content="1;URL='.$page->CreatePageLink('Giris').'" />';
} else if($status == -1){
$message = "Böyle bir kullanıcı sistemde mevcut!!";
} else {
$message = "Hata Oluştu!";
}
}
else{
$message = "Girilen Kimlik Bilgileri Uyuşmuyor!";
}
}
} else {
$message = "Alanları Kontrol Edin!";
}
} php bilen yardım edebilirmi ?
2
●302
- 06-03-2022, 05:09:58Arkadaşlar kodlar bu şekilde tc kimlik bilgimi doğru girmeme rağmen hata oluştu veya girilen kimlik bilgisi uyumlu değil diyor yardımcı olurmusunuz ?
- 06-03-2022, 06:48:44hocam öncelikle e-devlet in api ne döndürüyor bir fikrim yok ama strip_tags kullanılıp sadece text alınmış yani true false ya da 1 0 gibi protokol ne ise ona göre bir değer döndürüyor/döndürmeli. şu an olduğu haliyle size eğer hata veriyor komutunu veriyorsa tahmin ediyorum ki bu bir kayıt sistemi tc no valid olduktan sonra ki içeriye girmesi şart yani üst taraftaki kontrol tarafı doğru bir şekilde sağlanıyor demek ekleme ve kontrol fonksiyonu olan "Adm_AddUser" içeriğini bilmediğimden çok bir şey diyemem ama 0 dan büyük değerlerde ve -1 olması durumunda vereceği sonucu biliyoruz buna rağmen else dönüyor ise ya 0 ya da başka bir negatif sayı ya da hata alıyorsunuz demektir
eğer fonksiyon içerisinde return olan değer önceden ön tanımlı ise yani şu şekilde:
$sonuc = 0;
... kodlar ...
return sonuc;
şeklinde ise içeride kontrol yaşanırken sonuc değişkeni değişmeden döndürebilir ya da sonuc değişkenine atama yaparken bir hatayla karşılaşıyorsunuzdur sadece attığınız kodlara bakarak çözüm bulamayız maalesef