Frage AJAX-Requests deaktivieren

  • Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Aaron3219

Senior HTML'ler
6 Oktober 2015
1.148
237
63
19
Hey Leute,

folgender Ajax-Request:

Code:
function SendDataANM()
{
    var name = document.getElementById('name').value;
    var passwort = document.getElementById('passwort').value;
    var dataString = 'name=' + name + '&passwort=' + passwort;
    $.ajax({
        type: "post",
        url: "./php/anmelden.php",
        data: dataString,
        cache: false,
        success: function (html) {
            $('#msg').html(html);
        }
    });
    return false;
}

Jetzt will ich bei einer if-Abfrage auf eine neue Seite weiterleiten:

PHP:
if (strpos($row->benutzername, $benutzername) !== false && $rowzeile->passwort === $hashed) {

        header("Location: ../users/$benutzername/index.php");       
       
    } else {
        echo "Dein Benutzername oder das Passwort ist falsch!";
    }
Es wird mit MySQL-Datenbanken gearbeitet (nur als nebeninfo).

Durch diesen Ajax-Request wird aber diese "header" Weiterleitung auf eine neue Domain verhindert.
Gibt es eine Möglichkeit diesen Ajax-Request für diese if-Abfrage zu deaktivieren?

Grüße
Aaron
 

Sempervivum

Senior HTML'ler
18 Oktober 2016
2.144
428
83
68
Ich bin mir nicht sicher, wie das zu verstehen ist:
  • Liegt dieses PHP in deinem anmelden.php und du willst die Seite, die den Request abgesetzt hat, umleiten?
  • Oder liegt dieses PHP auf der Seite, die den Request absetzt und Du willst den Request verhindern, wenn das if erfüllt ist?
 

Aaron3219

Senior HTML'ler
6 Oktober 2015
1.148
237
63
19
Punkt 1. also die Codes sind in speraten Dateien. Wenn ich das formular bestätige, soll die PHP-Datei die if-Abfrage machen und die Seite, welche den Ajax-Request ausführt (tut sie übrigens mit einer Fuktion die per onclick auf den Submit Button gebunden ist) auf eine neue Seite weiterleiten
 

Sempervivum

Senior HTML'ler
18 Oktober 2016
2.144
428
83
68
So?
Code:
function SendDataANM()
{
    var name = document.getElementById('name').value;
    var passwort = document.getElementById('passwort').value;
    var dataString = 'name=' + name + '&passwort=' + passwort;
    $.ajax({
        type: "post",
        url: "./php/anmelden.php",
        data: dataString,
        cache: false,
        success: function (html) {
            if (html.indexOf("weiterleiten") != -1) location.href = html.replace("weiterleiten", "");
            else $('#msg').html(html);
        }
    });
    return false;
}
PHP:
if (strpos($row->benutzername, $benutzername) !== false && $rowzeile->passwort === $hashed) {
 
        echo "weiterleiten../users/$benutzername/index.php";     
      
    } else {
        echo "Dein Benutzername oder das Passwort ist falsch!";
    }
 
  • Like
Reaktionen: Aaron3219

Aaron3219

Senior HTML'ler
6 Oktober 2015
1.148
237
63
19
Hat funktioniert ;)
Habe es etwas abgeändert, aber das Grundprinzip bleibt dasselbe: ich mache eine if-Abfrage:

Code:
function SendDataANM()
{
    var name = document.getElementById('name').value;
    var passwort = document.getElementById('passwort').value;
    var dataString = 'name=' + name + '&passwort=' + passwort;
    $.ajax({
        type: "post",
        url: "./php/anmelden.php",
        data: dataString,
        cache: false,
        success: function (html) {

            $('#msg').html(html);
            if($("#msg").is(':contains("weiterleiten")')) {
                location.href = html.replace("weiterleiten", "");
            }
        }
    });
    return false;
}

Danke auf jeden Fall @Sempervivum
 
Werbung: