Reklam
<?php
$pageTitle = "GiriÅŸ Yap";
?>
<title><?=$ServerName;?> ~ <?=$pageTitle;?></title>
<?PHP
if( !defined('FEAR') ) {
die("Erisim Engellendi! - <b>X</b>");
}
if($login_status != 1):
$dbo->uyari('Giriş yapma kapalıdır!');
$dbo->yonlendir(''.$base_url.'',1);
else:
$username = $dbo->SQLSecurity($dbo->security($_POST['LoginFormUsername']));
$password = $dbo->SQLSecurity($dbo->security($_POST['LoginFormPassword']));
$loginip = $_SERVER['REMOTE_ADDR'];
$logindate = date("Y-m-d H:i:s");
if(empty($username) or empty($password)):
$dbo->uyari(''.$lang['BlankSpace'].'');
$dbo->yonlendir(''.$base_url.'',1);
else:
$dbo->doquery("SELECT strAuthority , strAccountID , CashPoint FROM TB_USER WHERE strAccountID = '$username' AND strPasswd = dbo.HashPasswordString('$password')");
$u = $dbo->result('strAuthority');
if($u >= 0):
$_SESSION['LoginFormPassword'] = $u;
$_SESSION['LoginFormUsername'] = $username;
$dbo->doquery("UPDATE _mykol SET MyKOLLastIPAdress = '$loginip' , MyKOLLastLogin = '$logindate' WHERE strAccountID = '$username'");
$dbo->yonlendir(''.$base_url.'',0);
else:
$dbo->uyari(''.$lang['WrongUsername'].'');
$dbo->yonlendir(''.$base_url.'',1);
endif;
endif;
endif;
?>
<?php
$pageTitle = "Giriş Yap";
?>
<title><?=$ServerName;?> ~ <?=$pageTitle;?></title>
<?php
// FEAR sabiti tanımlı mı kontrolü
if (!defined('FEAR')) {
die("Erişim Engellendi! - <b>X</b>");
}
// Eğer login işlemi kapalıysa...
if ($login_status != 1) {
$dbo->uyari('Giriş yapma kapalıdır!');
$dbo->yonlendir($base_url, 1);
exit;
}
// POST'tan gelen verileri alıp temel güvenlik işlemlerinden geçiriyoruz
$username = trim($dbo->SQLSecurity($dbo->security($_POST['LoginFormUsername'])));
$password = trim($dbo->SQLSecurity($dbo->security($_POST['LoginFormPassword'])));
$loginip = $_SERVER['REMOTE_ADDR'];
$logindate = date("Y-m-d H:i:s");
// Kullanıcı adı veya şifre boşsa uyarı verip yönlendiriyoruz
if (empty($username) || empty($password)) {
$dbo->uyari($lang['BlankSpace']);
$dbo->yonlendir($base_url, 1);
exit;
}
// Veritabanından kullanıcıyı çekiyoruz.
// Burada sorgu sonucunda hiç satır dönmezse, kullanıcı adı veya şifre hatalı demektir.
$sql = "
SELECT strAuthority, strAccountID, CashPoint
FROM TB_USER
WHERE strAccountID = '$username'
AND strPasswd = dbo.HashPasswordString('$password')
";
$dbo->doquery($sql);
// Eğer sonuç yoksa (kayıt bulunamadıysa)
if ($dbo->rows() < 1) {
$dbo->uyari($lang['WrongUsername']);
$dbo->yonlendir($base_url, 1);
exit;
}
// Kayıt var ise tek satır alıyoruz
$row = $dbo->fetchRow();
// strAuthority değerini kontrol ediyoruz
// Sistemde ">= 0" olması giriş yapmak için yeterli bir kural gibi tanımlanmışsa böyle kalabilir.
// Giriş yetkisi yoksa da yönlendiriyoruz.
if ($row['strAuthority'] >= 0) {
// Oturum değişkenlerine kaydedelim
$_SESSION['LoginFormUsername'] = $row['strAccountID'];
// İsimlendirme olarak LoginFormPassword yerine UserAuthority vb. kullanmanız önerilir
$_SESSION['LoginFormPassword'] = $row['strAuthority'];
// Log bilgilerinin güncellenmesi
$updateSql = "
UPDATE _mykol
SET
MyKOLLastIPAdress = '$loginip',
MyKOLLastLogin = '$logindate'
WHERE strAccountID = '$username'
";
$dbo->doquery($updateSql);
// Başarıyla giriş yapınca anasayfaya veya istediğiniz yere yönlendiriyoruz
$dbo->yonlendir($base_url, 0);
exit;
} else {
// Giriş yetkisi uygun değilse
$dbo->uyari($lang['WrongUsername']);
$dbo->yonlendir($base_url, 1);
exit;
}
?>
teşekkür ederim hocam ilgilendiğiniz için fakat bu kodda da sıkıntı var hepsine kullanıcı adı yada şifre hatalı uyarısı veriyor giriş yapmıyor$u = $dbo->result('strAuthority');
if ($u >= 0) { ... }
sorun burada
Sorun, sorgudan gerçekte bir satır dönmese bile strAuthority alanını doğrudan çekip sonrasında >= 0 kontrolü yapmanızdan kaynaklanıyor. Yani:
kullanabileceğin doğru kod yapısı
Kod:<?php $pageTitle = "Giriş Yap"; ?> <title><?=$ServerName;?> ~ <?=$pageTitle;?></title> <?php // FEAR sabiti tanımlı mı kontrolü if (!defined('FEAR')) { die("Erişim Engellendi! - <b>X</b>"); } // Eğer login işlemi kapalıysa... if ($login_status != 1) { $dbo->uyari('Giriş yapma kapalıdır!'); $dbo->yonlendir($base_url, 1); exit; } // POST'tan gelen verileri alıp temel güvenlik işlemlerinden geçiriyoruz $username = trim($dbo->SQLSecurity($dbo->security($_POST['LoginFormUsername']))); $password = trim($dbo->SQLSecurity($dbo->security($_POST['LoginFormPassword']))); $loginip = $_SERVER['REMOTE_ADDR']; $logindate = date("Y-m-d H:i:s"); // Kullanıcı adı veya şifre boşsa uyarı verip yönlendiriyoruz if (empty($username) || empty($password)) { $dbo->uyari($lang['BlankSpace']); $dbo->yonlendir($base_url, 1); exit; } // Veritabanından kullanıcıyı çekiyoruz. // Burada sorgu sonucunda hiç satır dönmezse, kullanıcı adı veya şifre hatalı demektir. $sql = " SELECT strAuthority, strAccountID, CashPoint FROM TB_USER WHERE strAccountID = '$username' AND strPasswd = dbo.HashPasswordString('$password') "; $dbo->doquery($sql); // Eğer sonuç yoksa (kayıt bulunamadıysa) if ($dbo->rows() < 1) { $dbo->uyari($lang['WrongUsername']); $dbo->yonlendir($base_url, 1); exit; } // Kayıt var ise tek satır alıyoruz $row = $dbo->fetchRow(); // strAuthority değerini kontrol ediyoruz // Sistemde ">= 0" olması giriş yapmak için yeterli bir kural gibi tanımlanmışsa böyle kalabilir. // Giriş yetkisi yoksa da yönlendiriyoruz. if ($row['strAuthority'] >= 0) { // Oturum değişkenlerine kaydedelim $_SESSION['LoginFormUsername'] = $row['strAccountID']; // İsimlendirme olarak LoginFormPassword yerine UserAuthority vb. kullanmanız önerilir $_SESSION['LoginFormPassword'] = $row['strAuthority']; // Log bilgilerinin güncellenmesi $updateSql = " UPDATE _mykol SET MyKOLLastIPAdress = '$loginip', MyKOLLastLogin = '$logindate' WHERE strAccountID = '$username' "; $dbo->doquery($updateSql); // Başarıyla giriş yapınca anasayfaya veya istediğiniz yere yönlendiriyoruz $dbo->yonlendir($base_url, 0); exit; } else { // Giriş yetkisi uygun değilse $dbo->uyari($lang['WrongUsername']); $dbo->yonlendir($base_url, 1); exit; } ?>