Hallo liebe PhP.de'ler
Derzeit bin ich wohl etwas blind. ich habe hier ein Login-Script das mir beim Login immer "Wrong Details" als fehler ausgibt. Ich denke ich habe irgendwo einen Fehler den ich nicht sehe.
Deshalb bitte ich um ein wenig schützenhilfe:
Danke für jeden Tipp und jeden Lösungshinweis
Hier die loginseite:
Derzeit bin ich wohl etwas blind. ich habe hier ein Login-Script das mir beim Login immer "Wrong Details" als fehler ausgibt. Ich denke ich habe irgendwo einen Fehler den ich nicht sehe.
Deshalb bitte ich um ein wenig schützenhilfe:
PHP-Code:
<?php
require_once('db_config.php');
class USER
{
private $conn;
public function __construct()
{
$database = new Database();
$db = $database->dbConnection();
$this->conn = $db;
}
public function runQuery($sql)
{
$stmt = $this->conn->prepare($sql);
return $stmt;
}
public function register($uname,$upass)
{
try
{
$new_password = password_hash($upass, PASSWORD_DEFAULT);
$stmt = $this->conn->prepare("INSERT INTO users(user_name, user_pass)
VALUES(:uname, :upass)");
$stmt->bindparam(":uname", $uname);
$stmt->bindparam(":upass", $new_password);
$stmt->execute();
return $stmt;
}
catch(PDOException $e)
{
echo $e->getMessage();
}
}
public function doLogin($uname,$upass)
{
try
{
$stmt = $this->conn->prepare("SELECT user_id, user_name, user_pass FROM users WHERE user_name=:uname ");
$stmt->execute(array(':uname'=>$uname));
$userRow=$stmt->fetch(PDO::FETCH_ASSOC);
if($stmt->rowCount() == 1)
{
//entfernt $vpassword = password_hash($upass, PASSWORD_DEFAULT);
if(password_verify($upass, $userRow['user_pass']))
{
$_SESSION['user_session'] = $userRow['user_id'];
return true;
}
else
{
return false;
}
}
}
catch(PDOException $e)
{
echo $e->getMessage();
}
}
public function is_loggedin()
{
if(isset($_SESSION['user_session']))
{
return true;
}
}
public function redirect($url)
{
header("Location: $url");
}
public function doLogout()
{
session_destroy();
unset($_SESSION['user_session']);
return true;
}
}
?>
Hier die loginseite:
PHP-Code:
<?php
session_start();
require_once("class.user.php");
$login = new USER();
if($login->is_loggedin()!="")
{
$login->redirect('home.php');
}
if(isset($_POST['btn-login']))
{
$uname = strip_tags($_POST['txt_uname_email']);
//entfernt $umail = strip_tags($_POST['txt_uname_email']);
$upass = strip_tags($_POST['txt_password']);
if($login->doLogin($uname,$umail,$upass))
{
$login->redirect('home.php');
}
else
{
$error = "Wrong Details !";
}
}
$register = 'off';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" type="text/css" href="table.css">
<link rel="stylesheet" type="text/css" href="template.css">
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div id="header"> </div>
<div id="centerdiv">
<div id="navbar">
<a href="index.php">Startseite</a><br/>
<a href="month_cal.php?month=january">Monatskalender</a><br/>
<a href="year_cal.php">Jahreskalender</a>
</div>
<div id="content">
<center>
<div class="signin-form">
<div class="container">
<form class="form-signin" method="post" id="login-form">
<h2 class="form-signin-heading">Login</h2><hr />
<div id="error">
<?php
if(isset($error))
{
?>
<div class="alert alert-danger">
<i class="glyphicon glyphicon-warning-sign"></i> <?php echo $error; ?> !
</div>
<?php
}
?>
</div>
<div class="form-group">
<input type="text" class="form-control" name="txt_uname_email" placeholder="Benutzername" required />
<span id="check-e"></span>
</div>
<div class="form-group">
<input type="password" class="form-control" name="txt_password" placeholder="Dein Passwort" />
</div>
<hr />
<div class="form-group">
<button type="submit" name="btn-login" class="btn btn-default">
<i class="glyphicon glyphicon-log-in"></i> SIGN IN
</button>
</div>
<br />
<?php
if($register == 'off'){
}else{
?>
<label>Don't have account yet ! <a href="sign-up.php">Sign Up</a></label>
<?php
}
?>
</form>
</div>
</div></center>
</div>
</div>
<div id="footer"> </div>
</body>
</html>
Kommentar