首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试(3次)进行用户登录php

问尝试(3次)进行用户登录php
EN

Stack Overflow用户
提问于 2016-04-17 18:24:02
回答 2查看 1.1K关注 0票数 0

你能帮我..。

代码语言:javascript
复制
<?php
    session_start(); // Starting Session
$error=''; // Variable To Store Error Message
if (isset($_POST['submit'])) {
    if (empty($_POST['ID']) || empty($_POST['password'])) {
        $error = "You must enter a username and password";
    }
    else
    {
        // Define $username and $password
        $date = date('m/d/y - h:i A');
        $ID=$_POST['ID'];
        $password=$_POST['password'];
        // To protect MySQL injection for Security purpose
        $ID = stripslashes($ID);
        $password = stripslashes($password);
        $ID = mysql_real_escape_string($ID);
        $password = mysql_real_escape_string($password);
        // Selecting Database
        $db = mysql_select_db($database, $connection);

        // SQL query to fetch information of registerd users and finds user match.
        $query = mysql_query("SELECT ID, password, pin, time FROM facultymember ".
                             "WHERE password='$password' AND ID='$ID'", $connection);



        $query2 = mysql_query("SELECT time FROM facultymember ".
                             "WHERE password='$password' AND ID='$ID'", $connection);
        $row = mysql_fetch_assoc($query);

        list($lastlogin) = mysql_fetch_row($query2);

        $update = mysql_query("UPDATE facultymember SET time=NOW() WHERE ID='$ID'",$connection);
        $_SESSION['lastlogin'] = $lastlogin;


         if (($_POST['ID']) != ($row['ID']) ||($_POST['password']) != ($row['password']) ) {
        $error = "You entered an invalid username or password, your attempt has been stored.";

         } else {

         if(false != $row){ // user info exists/correct
            $_SESSION['login_user'] = $row['ID'];

            if('1' == $row['pin']) { //not admin
                header("location: homeFM.php"); // Redirecting To Other Page
                die;
            } else { 
                //admin
                header("location: homeA.php"); // Redirecting To Other Page
                die;
            }
        } else { //login doesn't exist
            $error = "Username or Password is invalid";
        }
        $_SESSION['login_user'] = 1;
        mysql_close($connection); // Closing Connection
    }
}

}
?>

以上代码是PHP中的登录代码

如何尝试登录特定的用户ID?

我尝试了一些方法,但没有成功。

注意:代码与数据库有连接,但我在这里不写。

EN

回答 2

Stack Overflow用户

发布于 2016-04-17 19:28:50

因此,为了纠正您的错误,您之前粘贴的代码已经使用了一个数据库:

代码语言:javascript
复制
 // Selecting Database
    $db = mysql_select_db($database, $connection);

    // SQL query to fetch information of registerd users and finds user match.
    $query = mysql_query("SELECT ID, password, pin, time FROM facultymember ".
                         "WHERE password='$password' AND ID='$ID'", $connection);



    $query2 = mysql_query("SELECT time FROM facultymember ".
                         "WHERE password='$password' AND ID='$ID'", $connection);
    $row = mysql_fetch_assoc($query);

    list($lastlogin) = mysql_fetch_row($query2);

    $update = mysql_query("UPDATE facultymember SET time=NOW() WHERE ID='$ID'",$connection);
    $_SESSION['lastlogin'] = $lastlogin;

您的代码首先检查是否有人试图使用用户名和密码登录到您的网站:

代码语言:javascript
复制
if (empty($_POST['ID']) || empty($_POST['password'])) {
    $error = "You must enter a username and password";
}
else
{ .... }

然后,您的代码保存了用户写入两个变量的用户名和密码,并进行了一些“清理”:

代码语言:javascript
复制
    $date = date('m/d/y - h:i A');
    $ID=$_POST['ID'];
    $password=$_POST['password'];
    // To protect MySQL injection for Security purpose
    $ID = stripslashes($ID);
    $password = stripslashes($password);

现在回答您的问题:要登录用户,您必须将用户密码和用户名与其他地方存储的密码和用户名进行比较。我强烈建议使用数据库来保存这些存储的信息,因为它往往非常敏感,而且在需要时将用户名和密码存储在文本文件中的风险更大,速度更慢。现在,一旦您比较了用户名和密码,如果它们匹配,您可以让下面的代码做您的网站需要做的任何事情,如果它们不匹配,您将显示一条错误消息,说明它们不匹配:)。

票数 0
EN

Stack Overflow用户

发布于 2016-04-17 20:10:38

您需要使用数据库。

如果没有将登录尝试存储在数据库中,如何防止用户从不同的会话或不同的浏览器再次尝试?

非常重要:

如果您要将密码存储在数据库中,请不要将其存储为纯文本。您应该散列密码并存储结果值,然后当用户尝试登录时,散列他们输入的密码,并比较值以检查是否匹配。

作为初学者,请参阅Secure hash and salt for PHP passwords。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36680430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档