0
Ich kann nicht scheinen, meine Umleitung zu arbeiten. Erstens ist die Klasse:Kann Header-Speicherort nicht umleiten
public function LoginUser($username, $password){
// Check if user adn password matches an user in database
if(isset($_POST['username'])){
$username = mysqli_real_escape_string($this->db, $username);
$password = mysqli_real_escape_string($this->db, $password);
$sql = "SELECT * FROM users WHERE name='$username'";
$result = mysqli_query($this->db, $sql) or die('Fel vid SQL-fråga - inloggning');
if(mysqli_num_rows($result)){
$row = mysqli_fetch_array($result);
$stored_password = $row['password'];
// check if hash_equals-function exists
if(function_exists("hash_equals")) {
//If excists
if(hash_equals($stored_password, crypt($password, $stored_password))) {
// create session
header("location: user/loggedin.php");
$_SESSION['login'] = $username;
}else{
echo '*WRONG!*';
}
}else{
//if not exists, use alternate method
if($stored_password == crypt($password, $stored_password)){
// create session that tells that we're logged in
header("location: ../user/loggedin.php");
$_SESSION['name'] = $username;
}else{
echo 'WRONG!';
}
}
}
}
}
Und mein Ruf für die Klasse:
<?php
// call class User.php, LoginUser
$users = new User();
if(isset($_POST['loginButton'])){
if($users->LoginUser($_POST['username'], $_POST['password'])){
//header("location: admin/admin.php");
}else{
echo 'wrong username or password';
}
}
Sie können nicht 2 elses in einer Reihe so haben –
natürlich, Sie richtig. Das letzte war irgendwie hereingekommen :). gelöscht und jetzt bearbeitet, funktioniert immer noch nicht .. – Kalabalik
Also was _does_ passiert? Was bekommen Sie ausgegeben? –