用户登录(使用会话)麻烦

时间:2013-05-21 22:54:36

标签: php html mysql sql

我正在尝试创建一个登录系统,供用户登录我的网站。出于某种原因,我似乎无法获取我的代码来识别用户存在,它总是认为用户在我的数据库中不存在,即使它确实存在。我希望有人可以查看我的代码并告诉我是否有问题,因为我找不到任何错误。

另外我应该提一下,我非常清楚这些代码都不安全或不安全,我现在就想这样做。

这是我的表信息:

<!--  Login form -->
        <div id="userLogin">
            <form name="user_login" id="Login" method="post" action="loginSF.php">

                Username : <input type="text" name="yourUsername" id="username" ><br /> 
                <span id="usernameWarnings" style="color:black"> </span> <br />  

                Password : <input type="password" name="yourPassword" id="userPassword" > <br />
                <span id="passwordWarnings" style="color:black"> </span> <br />

                <input type="submit" value="login" onclick="return validateLoginForm()" >
            </form>
        </div>

这是我的loginSF.php的PHP代码:(使用SQL修复更新)(问题仍然存在)

<?php 

session_start(); // starts session

require_once 'databaseLogin.php'; //login info
$db_server = mysqli_connect($db_hostname, $db_username, $db_password, $db_database); //connection

if(mysqli_connect_errno($db_server))
{
    echo "failed to connect to mySQL: " . mysqli_connect_error();
}
//$loggedIn = mysqli_query($db_server,"SELECT User_Name FROM members");

$username = $_POST['yourUsername'];
$password = $_POST['yourPassword'];

$query = "SELECT `User_Name`, `Password` FROM `members` WHERE User_Name='$username' AND Password='$password'";
$loggedIn = mysqli_query($db_server, $query);

// check username and password match
if(mysqli_num_rows($loggedIn) == 1)
{
    echo "Login Successful";
}
else
{
    echo "Login failed";
}

&GT;

数据库中的用户:

User_Name密码

Tester345 tttttt

1 个答案:

答案 0 :(得分:0)

您的代码容易受到攻击。我认为这只是一个学习项目

变化

$query = "SELECT 'User_Name', 'Password' FROM `members` WHERE User_Name='$username' AND Password='$password'";

$query = "SELECT `User_Name`, `Password` FROM `members` WHERE User_Name='$username' AND Password='$password'";