Php Login Hatası

Kodla Büyü

mruh

Aktif Üye
Mesajlar
178
Hocalarım, bir online alışveriş portalı sitesi üzerinde çalışıyorum. Yeni üye kayıt edebiliyorum ancak üyelerle giriş yapamıyorum. "invalid e mail or id" hatası alıyorum. Yardımcı olursanız çok sevinirim. Teşekkürler

Kod:
<?php
session_start();
error_reporting(0);
include('includes/config.php');
// Code user Registration
if(isset($_POST['submit']))
{
$name=$_POST['fullname'];
$email=$_POST['emailid'];
$contactno=$_POST['contactno'];
$password=md5($_POST['password']);
$query=mysqli_query($con,"insert into users(name,email,contactno,password) values('$name','$email','$contactno','$password')");
if($query)
{
    echo "<script>alert('You are successfully register');</script>";
}
else{
echo "<script>alert('Not register something went worng');</script>";
}
}
// Code for User login
if(isset($_POST['login']))
{
   $email=$_POST['email'];
   $password=md5($_POST['password']);
$query=mysqli_query($con,"SELECT * FROM users WHERE email='$email' and password='$password'");
$num=mysqli_fetch_array($query);
if($num>0)
{
$extra="my-cart.php";
$_SESSION['login']=$_POST['email'];
$_SESSION['id']=$num['id'];
$_SESSION['username']=$num['name'];
$uip=$_SERVER['REMOTE_ADDR'];
$status=1;
$log=mysqli_query($con,"insert into userlog(userEmail,userip,status) values('".$_SESSION['login']."','$uip','$status')");
$host=$_SERVER['HTTP_HOST'];
$uri=rtrim(dirname($_SERVER['PHP_SELF']),'/\\');
header("location:http://$host$uri/$extra");
exit();
}
else
{
$extra="login.php";
$email=$_POST['email'];
$uip=$_SERVER['REMOTE_ADDR'];
$status=0;
$log=mysqli_query($con,"insert into userlog(userEmail,userip,status) values('$email','$uip','$status')");
$host  = $_SERVER['HTTP_HOST'];
$uri  = rtrim(dirname($_SERVER['PHP_SELF']),'/\\');
header("location:http://$host$uri/$extra");
$_SESSION['errmsg']="Invalid email id or Password";
exit();
}
}


?>
 
Kellandığın ide nedir bilmiyorum. Eğer breakpoint kuyabilirsen debug etmen kolay olur.

Enazından herif içine bir echo yaz .
İşlem gerçekleşitornu. Fikir verir.

Mesela post[login] gerçekten boyle bir post oluyormu. Oşmuyorsa doğal olarak giriş olmaz.
Tıklanan düğmenin adından valuesinden eminol.
 
Kellandığın ide nedir bilmiyorum. Eğer breakpoint kuyabilirsen debug etmen kolay olur.

Enazından herif içine bir echo yaz .
İşlem gerçekleşitornu. Fikir verir.

Mesela post[login] gerçekten boyle bir post oluyormu. Oşmuyorsa doğal olarak giriş olmaz.
Tıklanan düğmenin adından valuesinden eminol.

çok teşekkürler Alpay hocam
 
md5(passsword) u ekrana yazdırıp, veritabanındaki değer ile karşılaştırmayı deneyin. Veritabanına eksik yazılmış olabilir.

bir de sayfanın
//Code user registration
satırından hemen sonra
echo "<!-- ".print_r($_POST)." -->";
satırını ekleyip, post edilen tüm değerleri kaynak koddan kontrol edebilirsiniz.
 
Hocalarım güzel anlatmışlar olası sorunları. Şunu ekleyeyim hocam siz sayfanızı yönlendirip hata mesajınızı sessionda tutuyorsunuz. Ve bu sayede diğer sayfada göstetiyorsunuz. Bu sebeple echo ile print r ile değer alamazsınız ekrandan. En alt satırda, session a değer atılan yerde post dizisini gönderip extra sayfasının başında print r ile gösterebilirsiniz ya da veritabanından gelen şifreyi echo değil de yine session a atarak kontrol ettirebilirsiniz. Sizin kontrol ve test yerinizi echo değil session a değer atmak oluyor hocam. İlla echo ile bakacağım derseniz header il yapılan yönlendirmeleri devredışı bırakıp öyle bakmalısınız
 
Son düzenleme:
Geri
Üst