Undefined index password

  • PHP

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Link.

    Undefined index password

    Hallo Leute,
    Ich bin derzeit dabei ein MVC System zu basteln um mir Arbeit zu sparen.
    Alles läuft auch soweit gut. Heute wollte ich PDO einbinden und bekam nach dem ersten Test die Meldung das "Password" in einem Array nicht gefunden wurde ein var_dump zeigte mir jedoch das gegenteil.

    Loginfunktion:

    PHP-Quellcode

    1. ​public function login(){
    2. if(isset($_POST['username']) && isset($_POST['password'])){
    3. //$response = $this->model->login('*',"username = '".$_POST['username']."'");
    4. $response[] = $this->model->login(array(":username" => $_POST['username']));
    5. $response[] = $response[0]; //Hier sol der Fehler sein
    6. //Ab hier kommt der Fehler
    7. if($response['password'] == $_POST['password']){
    8. $this->createSession($response['username'], $response['id']);
    9. echo 1;
    10. }
    11. }
    12. }


    User Model:

    PHP-Quellcode

    1. ​public function login($data){
    2. return $this->db->select("SELECT * FROM `users` WHERE `username` = ':username'", $data);
    3. //return $this->db->select($fields, 'users', $where);
    4. }


    der Aufruf in einer index.php

    HTML-Quellcode

    1. ​function login(){
    2. var username = $('form[name=signin] input[name=username]')[0].value;
    3. var password = $('form[name=signin] input[name=password]')[0].value;
    4. $.ajax({
    5. type: "POST",
    6. url: "<?php echo URL; ?>User/login",
    7. data: {username:username, password:password}
    8. }).done(function(response){
    9. if(response == 1){
    10. location.reload();
    11. } else {
    12. alert(response);
    13. }
    14. });
    15. }

    Hi,

    die Meldung das "Password" in einem Array nicht gefunden wurde

    Wichtig wär, in "welchem" Array. $response oder $_POST?

    Btw, deine POST-Daten solltest du ggf. validieren.

    Und hier:

    PHP-Quellcode

    1. $response[] = $this->model->login(array(":username" => $_POST['username']));
    2. $response[] = $response[0]; //Hier sol der Fehler sein


    Wieso solltest du an Index 0 und Index 1 deines Arrays die selben Daten liegen haben wollen? Weil wenn das erste Element im $response-Array ja das $this->model->login(array(":username" => $_POST['username'])) hier ist (quasi der Wert an $response[0]) und du dann sagst dass $response[1] gleich $response[0] sein soll, ergibt das irgendwie keinen Sinn oder?

    Link :thumbup:
    Hello World
    hat sich erledigt in einem anderen Forum wurde mir schon geholfen

    Schön für dich. Vielleicht magst du ja den Link zum Thread im anderen Forum mit herschreiben damit auch der Rest was davon hat? Und ggf. das Thema dann auf Erledigt setzen, sodass es einen grünen Haken bekommt?

    Link :thumbup:
    Hello World