- Php versiyonu 5.2.0++
- jQuery kütüphanesinin eklenmesi.
- Kurulumu izleyin.
- Temanızın ana dizinine action adında bir klasör oluşturun.
- Klasörün içine login.php adında bir dosya oluşturun.
- action/login.php dosasının içine direkt(başka birşey eklemeden EK1 deki komutları ekleyin.
- index.php dosyanıza EK2 deki komutları ekleyin. (sidebar.php) de olur.
- index.php ya da sidebar.php dosyanıza EK3 deki komutları ekleyin. Not: EK2 index.php de ise EK3 de index.php de olmalıdır.
- Açıklamaları izleyin.
EK1
<?php
//-------
//*This code file is licensed under Anasoru, Anasoru - Login api
//* LISANCE DETAILS:
//* CC BY-NC-ND, http://creativecommons.org/licenses/by-nc-nd/3.0/deed.tr
//-------
require_once '../../../../wp-config.php';
global $wpdb, $user_ID;
$hata1 = array('text'=>'Girilen bilgiler yanlış','tur'=>'error');
$hata2 = array('text'=>'Hesap adı veya E-posta girmelisin','tur'=>'error');
$hata3 = array('text'=>'Şifre alanını doldurmalısın','tur'=>'error');
$hata4 = array('text'=>'Ölümcül bir hata oldu','tur'=>'hack');
$hata5 = array('text'=>'Zaten giriş yapmışsın','tur'=>'login');
$tamam = array('text'=>'Başarıyla giriş yaptınız','tur'=>'success');
if ($user_ID||is_user_logged_in()||get_current_user_id()) {
echo json_encode($hata5); exit();
}
$log_name = $wpdb->escape($_REQUEST['log_name']);
$log_pass = $wpdb->escape($_REQUEST['log_pass']);
$remember = $wpdb->escape($_REQUEST['rememberme']);
if($remember) $remember = "true";
else $remember = "false";
if(empty($_POST['login'])){
echo json_encode($hata4); exit();
}
if (!wp_verify_nonce( $_POST['anti_hack'], "guard")) {
echo json_encode($hata4); exit();
}
if(empty($log_name)){
echo json_encode($hata2); exit();
}
if(empty($log_pass)){
echo json_encode($hata3); exit();
}
$login_data = array();
$login_data['user_login'] = $log_name;
$login_data['user_password'] = $log_pass;
$login_data['remember'] = $remember;
$kullanicigir = wp_signon( $login_data, true );
if ( is_wp_error($kullanicigir) ) {
echo json_encode($hata1); exit();
}
else
{
echo json_encode($tamam); exit();
}
?>EK2
<form id="login">
<input type="text" id="log_name" name="log_name">
<label for="log_name">Kullanıcı Adı</label>
<input type="password" id="log_pass" name="log_pass">
<label for="log_pass">Şifre</label>
<input type="hidden" name="anti_hack" value="<?php echo wp_create_nonce("guard"); ?>" />
<button type="submit">Giriş Yap</button>
<label class="checkbox">
<input type="checkbox" name="rememberme"> Beni hatırla
</label>
</form>EK3<script type="text-javascript">
//-------
//*This code file is licensed under Anasoru, Anasoru - Login api
//* LISANCE DETAILS:
//* CC BY-NC-ND, http://creativecommons.org/licenses/by-nc-nd/3.0/deed.tr
//-------
$('#login').live('submit',function(){
var dizin_directory = <?= echo get_bloginfo('stylesheet_directory'); ?>
$.ajax({
type: 'POST',
url: dizin_directory+'/action/login.php',
data: $(this).serialize()+'&login=true',
dataType: 'json',
success: function(data){
alert(data.tur)
alert(data.text)
}
});
return false;
});
</script>AçıklamalarÖnemli olan kısımlara değineceğim.
- dataType: 'json', ile json komutlarını işliyoruz.
- <input type="hidden" name="anti_hack" value="<?php echo wp_create_nonce("guard"); ?>" /> komutu ile hack girişimlerini önletiyoruz.
- require_once '../../../../wp-config.php'; Komutu ile wp-config.php fonksiyonlarını ve db. bilgilerini çekiyoruz. ../../../../ çekilen dosyadan olan uzaklığını simgeler. Bunların adetlerini katman sayısına göre yeniden ayarlamanız gerekebilir.
- $kullanicigir = wp_signon( $login_data, true ); Gelen bilgiler ile giriş yapılıyor.
- if ( is_wp_error($kullanicigir) ) { girilen k.adı ya da şifre hatalı ise.
- Örnek resmi inceleyin
Grafik açıklamaları
- 1. Resim, Giriş formunu belirtir.
- 2. Resim, Hatalı giriş sonucunu belirtir.
- 3. Resim, Boş K.Adı giriş sonucunu belirtir.
- 4. Resim, Boş Şifre giriş sonucunu belirtir.
- 5. Resim, Hack girişimi sonucunu belirtir.
- 6. Resim, Doğru giriş sonucunu belirtir.

Uploaded with ImageShack.us

Uploaded with ImageShack.us

Uploaded with ImageShack.us

Uploaded with ImageShack.us

Uploaded with ImageShack.us

Uploaded with ImageShack.us
Ayrıntıya girmek istemedim, zaten bir çok kimse bakınca anımsayacaktır. Takılan olursa yardımcı olabilirim.
Ticari amaçlar dışında istediğiniz gibi kullanabilirsiniz.