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.