Ankündigung

Einklappen
Keine Ankündigung bisher.

Fehlersuche die zweite

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Fehlersuche die zweite

    Seid gegrüßt PHP-Freunde,

    ich versuche mich momentan mal wieder etwas am programmieren. Ich habe einen Login & Register openSource code aus dem Internet geladen und benutze den.

    Nun steh ich vor folgendem Problem:

    Ich habe eine mySQL db mit Benutzer daten. Dort ist ein Benutzer gespeichert. Wenn ich nun versuche mit diesem einzuloggen, wird der code zwar ausgeführt, aber ich werde nicht auf die index.html zurückgeleitet. Woran könnte das liegen? Ich weiß, dass der code ausgeführt wird, weil ich vorher immer den fehler bekommen habe: 'Wrong username or password or your account has not been activated.' ; habe daraufhin einfach in der db die value activated auf 'Yes'
    gestellt und dadurch is der error verschwunden. Die seite scheint auch zu laden aber ich werde eben nicht auf die index.html zurückgeleitet.

    Hier ist der php code von login.php :

    PHP-Code:
    <?php

    //include config
    require_once('includes/config.php');

    //check if already logged in move to home page
    if( $user->is_logged_in() ){ header('Location: index.php'); exit(); }

    //process login form if submitted
    if(isset($_POST['submit'])){

    if (!isset(
    $_POST['username'])) $error[] = "Please fill out all fields";
    if (!isset(
    $_POST['password'])) $error[] = "Please fill out all fields";

    $username $_POST['username'];
    if ( 
    $user->isValidUsername($username)){
    if (!isset(
    $_POST['password'])){
    $error[] = 'A password must be entered';
    }

    $password $_POST['password'];
    if(
    $user->login($username,$password)){
    $_SESSION['username'] = $username;
    header('Location: index.html');
    exit;
    } else {
    $error[] = 'Wrong username or password or your account has not been activated.';
    }

    }else{
    $error[] = 'Usernames are required to be Alphanumeric, and between 3-16 characters long';
    }
    }
    //end if submit

    ?>
    Und das ist die function login der Klasse user:

    PHP-Code:
    public function login($username,$password){
    if (!
    $this->isValidUsername($username)) return false;
    if (
    strlen($password) < 3) return false;
    $row $this->get_user_hash($username);
    if(
    $this->password_verify($password,$row['password']) == 1){
    $_SESSION['loggedin'] = true;
    $_SESSION['username'] = $row['username'];
    $_SESSION['memberID'] = $row['memberID'];
    return 
    true;
    }

    Die function get_user_hash sollte es auch nicht sein, da diese eine Fehlermeldung anzeigen würde bei einem Error.

    Habt ihr irgendwelche Ideen dazu? Würde mich freuen falls ihr mir helfen könntet!

    Gruß

  • #2
    Hat sich erledigt

    Kommentar

    Lädt...
    X