你能帮我..。
<?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?
我尝试了一些方法,但没有成功。
注意:代码与数据库有连接,但我在这里不写。
发布于 2016-04-17 19:28:50
因此,为了纠正您的错误,您之前粘贴的代码已经使用了一个数据库:
// 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 (empty($_POST['ID']) || empty($_POST['password'])) {
$error = "You must enter a username and password";
}
else
{ .... }然后,您的代码保存了用户写入两个变量的用户名和密码,并进行了一些“清理”:
$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);现在回答您的问题:要登录用户,您必须将用户密码和用户名与其他地方存储的密码和用户名进行比较。我强烈建议使用数据库来保存这些存储的信息,因为它往往非常敏感,而且在需要时将用户名和密码存储在文本文件中的风险更大,速度更慢。现在,一旦您比较了用户名和密码,如果它们匹配,您可以让下面的代码做您的网站需要做的任何事情,如果它们不匹配,您将显示一条错误消息,说明它们不匹配:)。
发布于 2016-04-17 20:10:38
您需要使用数据库。
如果没有将登录尝试存储在数据库中,如何防止用户从不同的会话或不同的浏览器再次尝试?
非常重要:
如果您要将密码存储在数据库中,请不要将其存储为纯文本。您应该散列密码并存储结果值,然后当用户尝试登录时,散列他们输入的密码,并比较值以检查是否匹配。
作为初学者,请参阅Secure hash and salt for PHP passwords。
https://stackoverflow.com/questions/36680430
复制相似问题