Catflowers
Centipat
- Katılım
- 22 Ocak 2022
- Mesajlar
- 123
- Çözümler
- 1
Yapmak istediğim şey kullanıcı, siteye üye olurken girmiş olduğu e-posta daha önceden veritabanında kayıtlıysa kayıdı yarıda kesip uyarı vermesi ama bir türlü yapamadım. Yardımcı olursanız çok mutlu olurum.
HTML kodları:
Eğer kayıt olurken şifre bölümüne ve şifre doğrulamaya farklı girişler yaparsa çözümüm bu şekilde oldu;
Başlıkta sorunu denemeye çalışıyorum ama çalışmıyor;
HTML kodları:
Kod:
<form class="login100-form validate-form flex-sb flex-w" method="POST" action="mysql/kayiteklev2.php" id="login-form">
<span class="login100-form-title p-b-3">
Kayıt Ol
</span>
<div class="p-t-31 p-b-9">
<label for="name" class="txt1">
İsim
</label>
</div>
<div class="wrap-input100 validate-input" data-validate = "İsim alanı gereklidir">
<input id="name" class="input100" type="text" name="name" >
<span class="focus-input100"></span>
</div>
<div class="p-t-31 p-b-9">
<label for="email" class="txt1">
E-posta Adresi
<span class="text-danger"></span> </label>
</div>
<div class="wrap-input100 validate-input" data-validate = "E-posta adresi gereklidir">
<input id="email" class="input100" type="email" name="email" >
<span class="focus-input100"></span>
</div>
<div class="p-t-13 p-b-9 d-inline-flex">
<label for="password" class="txt1">
Şifre
<span class="text-danger"></span> </label>
</div>
<div class="wrap-input100 validate-input" data-validate = "Şifre alanı gereklidir">
<input id="password" class="input100" type="password" name="password" >
<span class="focus-input100"></span>
</div>
<div class="p-t-13 p-b-9 d-inline-flex">
<label for="password_confirmation" class="txt1">
Şifre
</label>
</div>
<div class="wrap-input100 validate-input" data-validate = "Şifre alanı gereklidir">
<input id="password_confirmation" class="input100" type="password" name="password_confirmation" >
<span class="focus-input100"></span>
</div>
<div class="container-login100-form-btn m-t-17">
<button type="submit" class="login100-form-btn" id="submit">
Kayıt Ol
</button>
</div>
<div class="w-full text-center p-t-55">
<span class="txt2">
Zaten üye misin?
</span>
<a href="#" class="txt2 bo1">
Hemen giriş yap!
</a>
</div>
</form>
<script src="js/kayitekle.js"></script>
<script src="js/kontrol.js"></script>
Eğer kayıt olurken şifre bölümüne ve şifre doğrulamaya farklı girişler yaparsa çözümüm bu şekilde oldu;
Kod:
const messageElement = document.getElementsByClassName("text-danger")[1];
const frm = document.getElementById("login-form");
frm.addEventListener("submit", function (event) {
if (document.getElementById('password').value != document.getElementById('password_confirmation').value){
messageElement.innerHTML = "Şifreler eşleşmiyor, şifrenizi aynı giriniz.";
event.preventDefault();
return false;
}
});
Başlıkta sorunu denemeye çalışıyorum ama çalışmıyor;
Kod:
const frm = document.getElementById("login-form");
frm.addEventListener("submit", function (event) {
const mysql = require("mysql");
const messageElement = document.getElementsByClassName("text-danger")[0];
const mail = document.getElementById("email").value;
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '',
database: 'indirimyedb'
});
connection.connect(function(err) {
if (err) {
console.error('Hata: ');
return;
}
console.log('MySQL veritabanına başarıyla bağlandı!');
});
const checkQuery = "SELECT COUNT(*) as count FROM uyehesap WHERE email = '${mail}'";
connection.query(checkQuery, (err, result) => {
if (err) {
console.error('Sorgu hatası:', err);
} else {
const count = result[0].count;
const exists = count > 0;
}
});
if (exists > 0){
messageElement.innerHTML = "Mail kayıtlı, farklı mail kullanın";
event.preventDefault();
return false;
}
});