PHP登录表格行为不端

时间:2014-07-01 11:25:43

标签: php post get

我的php登录脚本出错,但我无法找到它。你能告诉我如何调试这个简单的错误。

这是我的剧本:

session_start();

include("connect.php");

$kullanici = $_POST["user"];

$kullanici_sor = mysql_query("SELECT * FROM admin where isim = '{$user}'") or die (mysql_error)();

$admin = mysql_fetch_array($user_ask);

if($_POST["user"] == "" and $_POST["pass"] == "")
{
    echo "Cannot empty fields.Please tyr again!";
}else{
    if(isset($_POST["user"]))
    {
        if($_POST["user"]== $admin['name'] and ($_POST["pass"] == $admin['pass'])){
        $_SESSION["enter"] = true;
        $_SESSION["name"] =$_POST["user"];
        $_SESSION["pass"] =$_POST["pass"];
        header("Location: panel.php");
        exit();
    }else{
        echo"Wrong pass or username";
        header("refresh:2; url=index.php");
    }
}

2 个答案:

答案 0 :(得分:2)

你应该改变你的行:

$admin = mysql_fetch_array($user_ask);

信息

$admin = mysql_fetch_array($kullanici_sor);

但是您的代码很容易受到SQL注入攻击。您应该通过PDO而不是mysql使用预准备语句。您还应该在代码的开头(<?php添加:

之后)
error_reporting(E_ALL);
ini_set('display_errors','1');

当您测试脚本时。在生产时,它应设置为:

error_reporting(0);
ini_set('display_errors','0');

编辑当然,正如评论中提到的那样,您绝不应该将密码放入会话中!

答案 1 :(得分:0)

$kullanici_sor = mysql_query("SELECT * FROM admin where isim = '{$user}'") or die (mysql_error)();

$admin = mysql_fetch_array($kullanici_sor);