Ajax & PHP Kod Lazım |
6 Mesajlar | 1.102 Okunma |
$(function(){
// bunlar çok işe yarayacak : ...
var UserNameKul = 'false';
var PassValid = 'Nope';
// burası random kod oluşturuyor : (mail aktivasyon için !);
var text = "";
var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
for( var i=0; i < 20; i++ )
text += possible.charAt(Math.floor(Math.random() * possible.length));
$("#SingUpForm").find("input#ActiveCode").val(text);
// burası kullanıcı adı sistemde var mı yok mu anlık kontrol için : ...
$("#KadiKont").hover(function(){
$(this).find("span.text").removeClass("hidden");
},function(){
$(this).find("span.text").addClass("hidden");
});
// kullanıcı adı sorgulama butonuna tıklanıldığında : ...
$("#KadiKont").mousedown(function(){
$("#UserControlElem").removeClass("alert-warning");
$("#UserControlElem").removeClass("alert-danger");
$("#UserControlElem").removeClass("alert-success");
// kullanıcı adını al :
var Elem = $("#SingUpForm").find("input#UserName").val();
//boş ise uyarı ver : ..
if(Elem == ''){
$("#UserControlElem").addClass("alert alert-warning");
$("#UserControlElem").html("Kullanıcı Adı Yazınız");
$("#SingUpForm").find("input#UserName").focus();
// değil ise : ..
}else{
// şu kullanıcı adlarını yasakla : !..
if(Elem == 'Admin' || Elem == 'admin' || Elem == 'admin123' || Elem == 'Admin123'){
$("#UserControlElem").addClass("alert alert-danger");
$("#UserControlElem").html(" Yasaklı Kullanıcı Adı !");
$("#SingUpForm").find("input#UserName").focus();
// bunu özel olarak yasakla : !!..
}else if(Elem == 'samsun'){
$("#UserControlElem").addClass("alert alert-danger");
$("#UserControlElem").html(" Senin bu sisteme girmen yasak gardaşım !");
$("#SingUpForm").find("input#UserName").focus();
}else {
// eğer yasaklı prosedür'ünü geçitiyse ajax'ı çalıştır ..
$.ajax({
url: 'ajax/user/UserNameControl.php',
type: 'POST',
data: {'UserName': Elem},
})
.done(function(data) {
// kontrol sayfasından gelen değere göre uyarını ver (.. : true false ile çalışır : ..)
if(data == 'true'){
$("#UserControlElem").addClass("alert alert-danger");
$("#UserControlElem").html("Bu Kullanıcı Adı Sisteme Kayıtlıdır.");
$("#SingUpForm").find("input#UserName").focus();
UserNameKul = 'false';
}else{
$("#UserControlElem").addClass("alert alert-success");
$("#UserControlElem").html("Kullanıcı Adı Kullanılabilir.");
UserNameKul = 'true';
}
})
.fail(function() {
console.log("error");
})
.always(function() {
});
};
}
});
//<-- end of username kontrol : ..
//şifre eşleştirme fonksiyonu başlangıcı : ...
$("#PasswordR").change(function(){
//bütün uyarıları kaldır..
$("#PassSecurity").removeClass("alert-danger");
$("#PassSecurity").removeClass("alert-success");
// 2 password'ün de değerlerini al : ...
var valu1 = $("#SingUpForm").find("input#Password").val();
var valu2 = $("#SingUpForm").find("input#PasswordR").val();
// eşit ise onay ver
if(valu2 == valu1){
$("#PassSecurity").addClass("alert alert-success");
$("#PassSecurity").html("Şifre Eşleşme Tamamlandı.");
// olay bu değişkende unutma bunu ! : ...
PassValid = 'Okey';
}else{
// eşit değil ise uyarı ver : ...
$("#SingUpForm").find("input#PasswordR").focus();
$("#PassSecurity").addClass("alert alert-danger");
$("#PassSecurity").html("Şifreler Eşleşmiyor.");
// olay bu değişkende unutma bunu ! : ...
PassValid = 'Nope';
}
})
// form post edildiyse buradan aşağısı çalışacak : ...
$("#SingUpForm").submit(function(){
// eğer kullanıcı adı kontrol edilmediyse : ...
if(UserNameKul != 'true'){
$("#KadiKont").trigger('mousedown');
};
// form da bulunan verileri al : ...
var ElemF = {
'UserName' : $(this).find("input#UserName").val(),
'Password' : $(this).find("input#Password").val(),
'Eposta' : $(this).find("input#Eposta").val(),
'Aktivasyon' : $(this).find("input#ActiveCode").val()
}
// değer kullanıcı onaylandı ve şifreler uyuşuyorsa buradan aşağıya : ...
if(UserNameKul == 'true' && PassValid == 'Okey'){
// loaderi çalıştır : ...
$(".loader").fadeIn(500);
// ajax'lamaya başla : ... -->
$.ajax({
// kayıt sayfasının url'i : ... -->
url: 'ajax/user/UserAdd.php',
type: 'POST',
//yukardıda aldığın verileri burada ajax ile post et : ... -->
data: {'UserName' : ElemF.UserName, 'Password' : ElemF.Password, 'Eposta' : ElemF.Eposta, 'ActiveCode' : ElemF.Aktivasyon},
})
.done(function(data) {
// sayfa sonucuna göre uyarı ver : ... --> ( TRUE, FALSE ile çalışır ... )
if(data == 'true'){
// eğer başarılı ise : .. -->
swal({ title: "Tebrikler ! ", text: "Başarılı Bir Şekilde Üye Oldunuz. Aktivasyon Maili Belirttiğiniz Mail Adresine İletilmiştir.", timer: 2000, showConfirmButton: false });
// sayfayı yeniden yükle : .. -->
setTimeout(function(){
location.reload();
},2000);
}else{
// kayıt yapılamadıysa : ... -->
swal("Opps !", "Kayıt İşlemi Sırasında Bir Hata Oluştu..", "error");
}
})
.fail(function() {
console.log("error");
})
.always(function() {
//her halukarda loaderi postala : .. -->
$(".loader").fadeOut(500);
});
};
return false
});
});
require '../db_settings.php';
error_reporting(E_ALL);
if($_POST){
## POST ile Gelen verileri alalım... >>
$UserName = $_POST['UserName'];
$Eposta = $_POST['Eposta'];
$LoginActive = '1';
$CreateDate = date('d.m.Y');
$Stats = '0';
$LastSeen = date('d.m.Y H:i:s');
$ActiveCode = $_POST['ActiveCode'];
if($ActiveCode == ''){
$ActiveCode = 'NoCode';
}
## Kullanıcının girdiği verileri burada BASE64 Yapıyoruz >>
$Password = $_POST['Password'];
$PasswordL = base64_encode($Password);
$MailAdresLink = $_SERVER['SERVER_NAME'];
## Gelen bilgilere göre kullanıcıyı oluşturalım : ... -->
$query = $vt->prepare("INSERT INTO Users SET
UserName = ?,
Password = ?,
Eposta = ?,
LoginActive = ?,
CreateDate = ?,
Stats = ?,
LastSeen = ?,
ActiveCode = ?");
$insert = $query->execute(array( $UserName, $PasswordL, $Eposta, $LoginActive, $CreateDate, $Stats, $LastSeen, $ActiveCode ));
if ( $insert ){
## Eğer kullanıcı eklendi ise mail aktivasyonu işlemine başla :
## kullanıcın mail adresine otomatik olarak onaylama linkini gönderiyoruz -->
$sendMail = "webform@senindomain.xyz";
$mailSifre = "123456";
include '../class.phpmailer.php';
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->Host = 'mail.senindomain.xyz';
$mail->Port = 587;
$mail->Username = $sendMail;
$mail->Password = $mailSifre;
$mail->SetFrom($mail->Username, 'senindomain.xyz');
$mail->AddAddress($Eposta, 'Senin Site Mail Activasyon');
$mail->AddReplyTo($Eposta, $UserName);
$mail->CharSet = 'UTF-8';
$mail->Subject = 'Senin Site Yönetim Paneli Mail Aktivasyonu';
$mail->MsgHTML("Mail Adresinizi Aktifleştirmek için : http://".$MailAdresLink."/?ref=mailActivasyon&code=".$ActiveCode."&active=true");
if($mail->Send()) {
echo "true";
} else {
echo "false";
}
}else{
print "false";
}
}
Üye Ol
Ek Olarak: LoginForm.js
$("#FormLog").submit(function(){
var FormElems = {
'kadi' : $(this).find("input#UserName").val(),
'sifre' : $(this).find("input#Password").val()
}
$.ajax({
url: 'ajax/user/login.php',
type: 'POST',
data: {'UserName': FormElems.kadi, 'Password': FormElems.sifre},
})
.done(function(data) {
if(data == 'true') {
location.href = "index.php?ref=LoginRedirect";
}else {
alert(data);
}
})
.fail(function() {
console.log("error");
})
.always(function() {
});
return false;
});
login.php
require '../db_settings.php';
session_start();
## Şifre Denemeleri '5' ten fazlaysa Engelleyelim.. >>
if(@$_SESSION['PassERR'] == 5){
echo 'Çok fazla Yanlış Şifre Girdiniz, 10 dakika sonra tekrar deneyiniz.';
$_SESSION['PassERDATE'] = date();
}else {
## Post var mı yok mu ?
if($_POST)
{
$kadi = $_POST['UserName'];
$sifreL = $_POST['Password'];
$sifre = base64_encode($sifreL);
$uye = $vt->query("SELECT * FROM Users WHERE UserName = '{$kadi}'")->fetch(PDO::FETCH_ASSOC);
if ( $uye ){
if($uye['Stats'] != 1){
echo "Mail Adresiniz Onaylanmamış, Lütfen Gelen Kutunuzu Kontrol Ediniz.";
}else {
## Şifre Doğru değilse ...
if($uye['Password'] != $sifre){
echo 'Yanlış Şifre Girdiniz. ';
# Şifre Denemelerini Sayalım >>
$_SESSION['PassERR'] += 1;
# Kaçıncı deneme olduğunu ekrana yazalım >>
print_r($_SESSION['PassERR'].' Hakkınız kalmıştır..');
}else {
$_SESSION['UserLogin'] = $uye;
echo "true";
}
}
}else{
echo 'Kullanıcı Bulunamadı !';
}
}else{
echo "Önce Bişeyler Göndermelisin !";
}
}
Ek Olarak: iyi forumlar