login hiba
sziasztok! Nem rég kezdtem el bontogatni a szárnyaim php-ben. Van egy scriptem amivel nem boldogulok. Van egy reg.php ami teljesen jól működik, új regisztrálókat beírja a db-be, oda ahova kell, annyit amennyit kell. Úgy csináltam hogy ha sikeres a reg akkor átirányítja a bejelentkező oldalra. Ott már post-on van a felhazsnáló né+a jelszó, csak rá kell kattintani a belépés gombra. Na ahogy rákattintok kiírja, hogy nincs ilyen felh/jelszó, amit én írtam a ciklusba. Nézegetem már egy ideje, de az adatbázishoz csatlakozik, szerintem a lekéréssel lesz a baj, de nem böki ki a szemem, hogy hol, pedig már nézem egy ideje. Valakinek valami ötlete. Előre is köszi.
■
<?php
include('../config/connect.php');
include('../config/functions.php');
if($_POST["submit"]!=""){
$email=$_POST["email"];
$pass=md5($_POST["password"]);
$qry="SELECT id,email,nev FROM admins WHERE email='".$email."' and Pass='".$pass."' LIMIT 1";
$e=mysql_query($qry) or die(mysql_error());
$eSor=mysql_fetch_array($e);
if(is_numeric($eSor["id"])){
echo "van ilyen!";
$key=session_id();
$a_id=$eSor["id"];
$time=time();
$qry="INSERT INTO session(`a_id`,`key`,`time`) VALUES('".$a_id."','".$key."','".$time."')";
$e=mysql_query($qry) or die(mysql_error());
$_SESSION["id"]=$a_id;
$_SESSION["nev"]=$eSor["nev"];
$_SESSION["email"]=$eSor["email"];
$_SESSION["j"]=$key;
$msg="Sikeres belépés!";
header("Location:admin/index.php?msg=".$msg);exit();
}else{
echo "Nincs ilyen email/jelszó páros!";
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Admin bejelentkezés</title>
</head>
<body>
<h2>Bejelentkezés:</h2>
<form name="login" method="post" action="">
email:<input type="text" name="email" value="<?php echo $_POST["email"]; ?>" /><br />
jelszó:<input type="password" name="password" value="<?php echo $_POST["password"]; ?>" /><br />
<input type="submit" name="submit" value="Belép!" />
</form>
</body>
</html>
Hibakeresés
Ha nem menne
Amit látunk (már amennyire COLORER nélkül látszik...), oda
header("Location: ...");
irányítja?Ha igen, akkor több PHP warningot is kell kapjál, ugyanis nincs átirányítás után POST adatod.
Csak mellékesen jegyzem meg, hogy nem szerencsés keverni a backend logikát a kimeneti HTML-el.