if ($_SERVER['REQUEST_METHOD'] == 'POST') {
header('Content-type: application/json');
$hata = $veri = array();
switch ($_POST['tip']) {
case 'kayitol':
if ( ! isset($_POST['adsoyad']) || empty($_POST['adsoyad'])) {
$hata['adsoyad'] = 'Lütfen ad soyad girin';
} else {
if ( ! ctype_alnum($_POST['adsoyad'])) {
$hata['adsoyad'] = 'Sadece sayı ve harf içermelidir';
} elseif (strlen($_POST['adsoyad']) < 5) {
$hata['adsoyad'] = 'En az 5 karakter olmalıdır.';
} elseif (strlen($_POST['adsoyad']) > 10) {
$hata['adsoyad'] = 'En fazla 10 karakter olabilir';
}
}
if ( ! isset($_POST['eposta']) || empty($_POST['eposta'])) {
$hata['eposta'] = 'Lütfen e-posta girin';
} else {
if ( ! filter_var($_POST['eposta'], FILTER_VALIDATE_EMAIL)) {
$hata['eposta'] = 'Geçersiz e-posta adresi';
}
}
if ( ! isset($_POST['sifre']) || empty($_POST['sifre'])) {
$hata['sifre'] = 'Lütfen şifre girin';
} else {
if (strlen($_POST['sifre']) < 5) {
$hata['sifre'] = 'En az 5 karakter olmalıdır.';
} elseif ( ! preg_match('#[0-9]+#', $_POST['sifre'])) {
$hata['sifre'] = 'En az 1 sayı içermelidir.';
} elseif ( ! preg_match('#[A-Z]+#', $_POST['sifre'])) {
$hata['sifre'] = 'En az bir büyük harf içermelidir.';
} elseif ( ! preg_match('#[a-z]+#', $_POST['sifre'])) {
$hata['sifre'] = 'En az bir küçük harf içermelidir.';
}
}
if (isset($_POST['sifretekrar']) && ! empty($_POST['sifretekrar'])) {
if ($_POST['sifretekrar'] != $_POST['sifre']) {
$hata['sifretekrar'] = 'Şifreler uyuşmuyor.';
}
}
if ( ! $hata) {
// $db->query("INSERT INTO ..."); Üye kaydını yapacağımız sorgu.
}
break;
case 'girisyap':
if ( ! isset($_POST['eposta']) || empty($_POST['eposta'])) {
$hata['eposta'] = 'Lütfen e-posta girin';
} else {
if ( ! filter_var($_POST['eposta'], FILTER_VALIDATE_EMAIL)) {
$hata['eposta'] = 'Geçersiz e-posta adresi';
}
}
if ( ! isset($_POST['sifre']) || empty($_POST['sifre'])) {
$hata['sifre'] = 'Şifrenizi girin';
}
if ( ! $hata) {
$ornek = array('eposta' => 'senin@epostan.com', 'sifre' => 'Sifre12345');
if ($_POST['eposta'] != $ornek['eposta'] && $_POST['sifre'] != $ornek['sifre']) {
$hata['sifre'] = 'Geçersiz şifre veya e-posta adresi';
} else {
$veri['yonlendirelecek_url'] = 'https://wmaraci.com/forum/php/merhaba-jquery-sayfa-yenilenmeden-uye-girisi-kaydi-466219.html';
}
}
break;
}
exit(json_encode(array('durum' => 'OK', 'veri' => $veri, 'hata' => ($hata ? $hata : false))));
}
?>
<script></script>
<script>
$('form').submit(function(event){
event.preventDefault(); // Sayfadan ayrılmayı engelle
var form = $(this);
form.find('.ajax').text('Gönderiliyor..').fadeIn();
$.ajax({
uri: 'test.php',
type: 'POST',
dataType: 'JSON',
data: form.serialize(),
success: function (cevap){
form.find('span').empty();
form.find('.ajax').fadeOut();
console.log(cevap.hata);
if (cevap.hata) {
$.each(cevap.hata, function(key, value) {
form.find('input[name=' + key + ']').next().text(value);
});
} else {
switch (form.find('input[name=tip]').val()) {
case 'kayitol':
form.find('.inside').css('color', 'green').text('Tebrikler üye olmayı başardınız.');
break;
case 'girisyap':
form.find('.inside').css('color', 'green').text('Giriş başarılı yönleniyorsunuz..');
setTimeout(function(){
window.location.href = cevap.veri.yonlendirelecek_url;
}, 2000);
break;
}
}
}
});
});
</script>
Merhaba, değişken isimlerini türkçe yaptığım için yorumlama gereği duymadım. test.php açıp deneyebilirsiniz. Tek sayfada yaptım tüm işlemi, PHP işlemlerini json.php diye bir dosyaya alabilirsiniz. HTML kodları ve CSS önemsiz, sadece göze hitap etsin diye düzenledim. Tablo yapınızı bilmediğim için SQL sorgularıyla ilgili örnekleri eklemedim.
Sorularınız olursa yardımcı olmaktan memnuniyet duyarım iyi çalışmalar.