Doğru Cevap
-
Bu şekilde çalıştırabilirsin.
$('#loginajax').click( Login ); function Login(){ $('.requestlogin').html('<img src="images/ico_loading.gif" />'); var username_l = $('.usrn_l').val(); var password_l = $('.pass_l').val(); $.ajax({ type: 'POST', url: 'includes/login.php', data:"username_l="+username_l+"&password_l="+password_l, dataType: 'json', success: function(sonuc){ if (sonuc.loginStatus){ $('.requestlogin').fadeIn("slow"); $('.requestlogin').html(sonuc.context); $('.requestlogin').fadeOut(5000); setTimeout(function(){ window.location = "http://www.google.com.tr"; }, 5000); }else{ //bilgiler yanlış ise $('.requestlogin').html(sonuc.context); } } }); return false; }
Burasıda login.php
$username = $_POST['username_l']; $password = $_POST['password_l']; if(isset($_SESSION['tr_e'])){ $dberror1 = "Giriş işleminiz başarılı. 5sn. içinde yönlendiriliyorsunuz.."; // Success $dberror2 = "Bir hata meydana geldi. Tekrar deneyiniz."; // Error $dberror3 = "Hata: Lütfen tüm alanları doldurunuz."; // Attention }else{ $dberror1 = "Login successful. Redirected with in 5 sc.."; // Success $dberror2 = "An error has occurred. Please try again."; // Error $dberror3 = "Error: Please fill in all fields."; // Attention } include("../config.php"); if(!empty($username) and !empty($password)){ $checkClient = mysql_query("SELECT * FROM members WHERE username='$username' and password='$password'"); if(mysql_num_rows($checkClient) > 0){ session_start(); $_SESSION['user'] = $username; $_SESSION['pass'] = $password; $_SESSION['sitelogin'] = true; echo '{"loginStatus":true, "context":"'.$dberror1.'"}'; //echo '<div class="tamam">'.$dberror1.'</div>'; }else{ echo '{"loginStatus":false, "context":"'.$dberror2.mysql_error().'"}'; //echo '<div class="hata">'.$dberror2.mysql_error().'</div>'; } }else{ echo '<div class="ikaz">'.$dberror3.'</div>'; }
Cevaplar
-
login.php'den geri dönen cevabı JSON haline getirin. Ve içerisine login işleminin başarılı olup olmadığını belirten bir değer ekleyin. Örnek:
{"loginStatus":true, "context":"diğer içerik vs...."}
daha sonra success içerisinde şuna benzer bir kontrol yaptırabilirsiniz:
success: function(response){ // login işlemi başarılıysa if (response.loginStatus){ setTimeout(funcrion(){ window.location = "gidilecek url"; }, 5000); } }
-
siyahbeyaz
güzel soylemişsin. ama o verdigin biraz zor döner.. ben onla epey kafa patlatmıştım..
php koduna sunlari ekle kardes:
if basariliysa
$data['success']=true;
else
$data['success']=false;
php kodun en son cıktısını silip sunu ekle
echo json_encode($data);
simdi jquery kodlarına gelelim
</javascript>
success: function(data) {
if(data.success) {
// giris basariliysa yapacagin jquery
$('.divalanin').html('buraya bir mesaj yaz...').show();
setTimeout(function(){
$(".divalanin").fadeOut("slow");
window.location = 'http://www.google.com.tr';
}, 5000); // body olan yere herhangi bir div alanıda yazabilirsin.
}
else {
// giris basarili degilse
$('.hatamesajialani').html('buraya bir mesaj yaz...').show();
}
</javascript>
$.ajax kodunun hemen altına
$('.hatamesajialani').hide(); eklemeyi unutma...12 yıl önce yazılmış
-
-
JSON dönüş yap, sonra gelen sonuc değişkeni içerisine html ve bir de status gönder. Status 1 ise success functionu içerisine window.location.href = ... basabilirsin.
-
JSON kısmını tam anlayamadım. Php de başarılı olunması durumunda echo mesajı:
"Login successful. Redirected with in 5 sc.."
Kullanımı bu şekilde mi yapacağım acaba:// AJAX LOGIN $('#loginajax').click( Login ); function Login(){ $('.requestlogin').html('<img src="images/ico_loading.gif" />'); var username_l = $('.usrn_l').val(); var password_l = $('.pass_l').val(); $.ajax({ type: 'POST', url: 'includes/login.php', data:"username_l="+username_l+"&password_l="+password_l, success: function(sonuc){ $('.requestlogin').fadeIn("slow"); $('.requestlogin').html(sonuc); $('.requestlogin').fadeOut(5000); }, {"loginStatus":true, "context":"Login successful. Redirected with in 5 sc.."} function(response){ // login işlemi başarılıysa if (response.loginStatus){ setTimeout(funcrion(){ window.location = "gidilecek url"; }, 5000); } }); return false; }
-
siyahbeyaz
login.php sourcelerini yazabılırmısın..13 yıl önce yazılmış -
GncArt
Login.php:
<?php $username = $_POST['username_l']; $password = $_POST['password_l']; if(isset($_SESSION['tr_e'])){ $dberror1 = "Giriş işleminiz başarılı. 5sn. içinde yönlendiriliyorsunuz.."; // Success $dberror2 = "Bir hata meydana geldi. Tekrar deneyiniz."; // Error $dberror3 = "Hata: Lütfen tüm alanları doldurunuz."; // Attention }else{ $dberror1 = "Login successful. Redirected with in 5 sc.."; // Success $dberror2 = "An error has occurred. Please try again."; // Error $dberror3 = "Error: Please fill in all fields."; // Attention } include("../config.php"); if(!empty($username) and !empty($password)){ $checkClient = mysql_query("SELECT * FROM members WHERE username='$username' and password='$password'"); if(mysql_num_rows($checkClient) > 0){ session_start(); $_SESSION['user'] = $username; $_SESSION['pass'] = $password; $_SESSION['sitelogin'] = true; echo '<div class="tamam">'.$dberror1.'</div>'; }else{ echo '<div class="hata">'.$dberror2.mysql_error().'</div>'; } }else{ echo '<div class="ikaz">'.$dberror3.'</div>'; } ?>
13 yıl önce yazılmış -
Hasan
{"loginStatus":true, "context":"Login successful. Redirected with in 5 sc.."}
bu kodu login başarılı olduysa dönderdiğin echo ''; içine alman gerek.13 yıl önce yazılmış -
GncArt
Çok soru soruyorum ama dediğin gibi echo ile yazdırdım fakat kontrol kodunu success içine yazdığım zaman form çalışmıyor.
function(response){ // login işlemi başarılıysa if (response.loginStatus){ setTimeout(funcrion(){ window.location = "gidilecek url"; }, 5000);
bu kodu buraya nasıl entegre edeceğim:$('#loginajax').click( Login ); function Login(){ $('.requestlogin').html('<img src="images/ico_loading.gif" />'); var username_l = $('.usrn_l').val(); var password_l = $('.pass_l').val(); $.ajax({ type: 'POST', url: 'includes/login.php', data:"username_l="+username_l+"&password_l="+password_l, success: function(sonuc){ $('.requestlogin').fadeIn("slow"); $('.requestlogin').html(sonuc); $('.requestlogin').fadeOut(5000); } }); return false; }
13 yıl önce yazılmış
-