无法选择用户名和密码 [英] unable to select username and password
本文介绍了无法选择用户名和密码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
获取错误密码和用户名不匹配:
我的班级功能是
Getting error password and username not matching:
my class function is
public function login(array $data)
{
$_SESSION['logged_in']=FALSE;
if(!empty($data))
{
$trim_data=array_map('trim',$data);
$email=mysqli_real_escape_string($this->mysqli,$trim_data['email']);
$password=mysqli_real_escape_string($this->mysqli,$trim_data['password']);
if((!$email)||(!$password))
{
throw new Exception("User name or password is missing");
}
$password=md5($password);
$sql2="select id,uname,email from users where email='$email' and upass='$password'";
$result = mysqli_query($this->mysqli, $sql2);
$data = mysqli_fetch_assoc($result);
$count = mysqli_num_rows($result);
mysqli_close($this->mysqli);
if( $count == 1){
$_SESSION = $data;
$_SESSION['logged_in'] = TRUE;
return true;
}else{
throw new Exception( LOGIN_FAIL );
}
}
}
我的登录页面是:
my login page is:
<?php
ob_start();
session_start();
include('Crud_class.php');
include('message.php');
?>
<?php
if(!empty($_POST))
try{
$user=new users('localhost','root','ricky','mydatabase');
$data=$user->login($_POST);
if(isset($_SESSION['logged_in']) && $_SESSION['logged_in'])
{
header('Location:home1.php');
}
}catch(Exception $e)
{
$error=$e->getMessage();
}
if(isset($_SESSION['logged_in']) && $_SESSION['logged_in']){
header('Location: home1.php');
}
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>
<?php include 'templates/message.php'?>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" name="login_form">
<label>Email:</label><br>
<input type="email" name="email"><br>
<label>Password:</label><br>
<input type="password" name="password" id="password"><br>
<input type="submit" name="submit" value="Login">
</form>
<p>Not registered?<a href="register.php">Click to register</a></p>
</body>
</html>
这是我的表:
This is my table:
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`uname` varchar(100) NOT NULL,
`email` varchar(150) NOT NULL,
`upass` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=10 ;
select * from users;
请帮助我为什么没有选择正确的用户名和密码
即使我使用正确的用户名和密码
Please help me why this is not selecting the correct username and password
Even i am using the correct username and password
推荐答案
数据)
{
_SESSION [' logged_in'] = FALSE;
if(!empty(
_SESSION['logged_in']=FALSE; if(!empty(
data))
{
data)) {
这篇关于无法选择用户名和密码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文