<istek>
<kimlik>
<kullanici>1234</kullanici>
<sifre>456</sifre>
</kimlik>
</istek>1Önceliklli olarak veritabanımızı oluşturacağız.Phpmyadmin üzerinden "users" isimli bir tablo oluşturun.Tablonun içinede iki değer ekleyeceksiniz bunlar ; "username" ve "password"1 Veritabanımızı oluşturduktan sonra geliyoruz PHP kodlarımıza kodların tamamını vermeden önce önemli olan işinize yarayacak kodların açıklamasını yapacağım.
$gelendata = simplexml_load_file('php://input');Bu kodumuz POST edilen XML formatındaki değeri okumamızı sağlıyor.$username = $gelendata->kimlik->kullanici[0]; $password = $gelendata->kimlik->sifre[0];Burdaki kodumuz önemli olan bir kısım aslında.POST edilen okuduğumuz XML formatındaki değerin içindeki yerleri seçmemizi sağlıyor.
Mesela benim işime yarayacak kısım burası olsun "<kullanici>1234</kullanici>" bunu parse etmek için "$username = $gelendata->kimlik->kullanici[0];" kodunu kullanıyorum.
$sql = "SELECT * from users WHERE username LIKE '{$username}' AND password LIKE '{$password}' LIMIT 1";
$result = $mysqli->query($sql);
if (!$result->num_rows == 1) {Bu kodumuzla veritabanında kullanıcının olup olmadığını kontrol ediyoruz.ve sıra geldi kodumuzun tamamına ;
<?php
$gelendata = simplexml_load_file('php://input');
$mysqli = new mysqli("localhost", "VERITABANIKULLANICIADI", "SIFRE", "VERITABANI");
# check connection
if ($mysqli->connect_errno) {
echo "<p>MySQL HATASI {$mysqli->connect_errno} : {$mysqli->connect_error}</p>";
exit();
}
$username = $gelendata->kimlik->kullanici[0];
$password = $gelendata->kimlik->sifre[0];
$sql = "SELECT * from users WHERE username LIKE '{$username}' AND password LIKE '{$password}' LIMIT 1";
$result = $mysqli->query($sql);
if (!$result->num_rows == 1) {
echo "<yanit>\n";
echo "<kod>0</kod>\n";
echo "<kimlik>Kimlik Dogrulama Islemi Basarisiz</kimlik>\n";
echo "</yanit>\n";
} else {
echo "<yanit>\n";
echo "<kod>1</kod>\n";
echo "<kimlik>Kimlik Dogrulama Islemi Basarili</kimlik>\n";
echo "</yanit>\n";
}
//BURAYA KULLANICI GIRISINDEN SONRA EKLENECEK KODLARINIZI EKLEYEBILIRSINIZ
?>Şimdi eksik kalan bir kısım var oluşturduğumuz PHP dosyasına verileri nasıl POST edeceğiz.İşte o kodlarda aşağıda
Denemeyi aşağıdaki kodlar yardımıyla yapabilirsiniz.<?//
function XMLPOST($PostAddress,$xmlData)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$PostAddress);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type: text/xml"));
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xmlData);
$result = curl_exec($ch);
return $result;
}
$xml='
<istek>
<kimlik>
<kullanici>1234</kullanici>
<sifre>456</sifre>
</kimlik>
</istek>';
$gelen=XMLPOST('http://PHPDOSYANIZIN OLDUGU YER',$xml);
echo $gelen;
?>