$insert=$db->query("INSERT INTO kullanicilar SET mail='{$mail}', pass='{$pass}' ); Mysql Kayıt Olurken Hata
21
●268
- 30-01-2022, 02:05:15direk query ile de deneyebilirsin.
- 30-01-2022, 14:02:43recepozmen_67 adlı üyeden alıntı: mesajı görüntüle
if(isset($_POST["register"])) { $mail = htmlspecialchars($_POST["mail"]); $username = htmlspecialchars($_POST["username"]); $pass = htmlspecialchars($_POST["pass"]); $pass2 = htmlspecialchars($_POST["pass2"]); if (empty($mail) || empty($username) || empty($pass) || empty($pass2)) { header("Location:../register?bos=var"); }else{ $kullanicivarmi = $vt->prepare("select * from uyeler where username=? || mail=?"); $kullanicivarmi-> execute(array($username,$mail)); $varmi = $kullanicivarmi->rowCount(); if ($varmi>0) { header("Location:../register?durum=var"); }else{ if ($pass==$pass2) { $pass =md5(htmlspecialchars($_POST["pass"])); $pass2 =md5(htmlspecialchars($_POST["pass2"])); $kullaniciekle= $vt->query("INSERT INTO uyeler SET email='{$mail}', username='{$username}', pass='{$pass}' )"; $ekle = $kullaniciekle->execute(array('email'=>$mail, 'username'=>$username, 'pass'=>$pass)); if ($kullaniciekle) { header("Location:../login"); }else{ header("Location:../register?durum=olmadi"); } }else{ header("Location:../register?sifre=olmadi"); } } } }bçyle denedim ama çalışmadı hocam benmi yanlış yaptım bilmiyorum - 31-01-2022, 19:13:12Hocam şu kod ile hata gelmez.
if ($kullaniciekle) { header("Location:../login"); }else{ header("Location:../register?durum=olmadi"); }Bunun yerine şunu yazıp hata nerede bi bakabilir misiniz?
if ($vt->lastInsertId()) { header("Location:../login"); }else { echo $vt->errorInfo()[2]; } - 01-02-2022, 04:30:53Alchems adlı üyeden alıntı: mesajı görüntüle
if(isset($_POST["register"])) { $mail = htmlspecialchars($_POST["mail"]); $username = htmlspecialchars($_POST["username"]); $pass = htmlspecialchars($_POST["pass"]); $pass2 = htmlspecialchars($_POST["pass2"]); if (empty($mail) || empty($username) || empty($pass) || empty($pass2)) { header("Location:../register?bos=var"); }else{ $kullanicivarmi = $vt->prepare("select * from uyeler where username=? || mail=?"); $kullanicivarmi-> execute(array($username,$mail)); $varmi = $kullanicivarmi->rowCount(); if ($varmi>0) { header("Location:../register?durum=var"); }else{ if ($pass==$pass2) { $pass =md5(htmlspecialchars($_POST["pass"])); $pass2 =md5(htmlspecialchars($_POST["pass2"])); $kullaniciekle= $vt->query("INSERT INTO uyeler SET email='{$mail}', username='{$username}', pass='{$pass}' "); if ($kullaniciekle) { header("Location:../login"); }else{ header("Location:../register?durum=olmadi"); } }else{ header("Location:../register?sifre=olmadi"); } } } }çift tırnak parantez dışında olduğu için syntax hatalı... onun dışında query de execute kullanmıyoruz... birde böyle denesene. Bunun dışında lastinsertid sana son kaydedilen idyi verir... aktif olarak kullanılan bir web sitesinde sorun yaratabilir diye düşünüyorum.
ek olarak select yaparken her zaman çağıracağın column ları belirt. "select *" dediğin zaman tüm satırları çağırmış oluyorsun bro.