Javascript Prolem

  • Gute Abend ich weiss zwar nicht ob es hir her gehöhrt aber egal.


    Ich hoffe mir kann jemand helfen unzwar habe ich probleme mit alert in einem php script hir der code mit erklärung:


    SQL
    echo "<script>alert('Falsches Password');</script>";//Das wird nicht angezeigt
                header('Location:index.php');//das wird ausgeführt


    Aber ich möchte das erst alert kommt und dann die weiter leitung


    ich bedanke mich bei jedem der mir helfen kann..

    Mit freundlichen Grüßen,


    Fabi.StaR :love::saint:


  • header muss vor allen anderen Ausgaben aufgerufen werden, du hast aber schon eine Ausgabe vor dem header.


    Da du ja via JS deine Fehlermeldung erstellst, dann mach du einfach auch die Weiterleitung via JS.

  • SQL
    echo "<script>alert('Falsches Password');</script>";//Das wird nicht angezeigt
                header('Location:index.php');//das wird ausgeführt


    Aber ich möchte das erst alert kommt und dann die weiter leitung

    Eigentlich sollte es exakt anders herum sein, dass "<script>alert.." ausgegeben wird, aber header() nicht ausgefuehrt werden kann, da wie Bosti bereits erlaeutert hat, der Header nach einer Ausgabe (laut offizieller PHP-Dokumentation) nicht veraendert werden kann. ( http://de.php.net/manual/de/function.header.php )
    Um es komplett in Javascript umzusetzen setzt man im Javascript Teil die "window.location" zu der Webseite auf die Weitergeleitet werden soll. Fuer die wenigen, die kein Javascript aktiviert haben sollte noch eine seperate Nachricht auf der Webseite mit dem Weiterleitungslink angezeigt werden.


    Dem Ausschnitt entnehme ich, dass du eine Art Login-Script schreibst. Das ganze koennte viel eleganter geloest werden, indem nicht auf die index.php ohne Parameter weitergeleitet wird, sondern auf index.php mit einem GET Paramter weitergeleitet wird, der in der Login Seite (index.php) dann einfach abgefragt wird. Wenn die Variable gesetzt ist, dann wird einfach ein Text angezeigt. ("Falsches Passwort", vielleicht mit roter Hinterlegung, oder irgend wie anders, dass es ein wenig hervorsteht.)
    Ist ein wenig besser. Dann braucht man sich keine Sorgen darueber machen, ob der Nutzer die Nachricht zu Gesicht bekommt, denn Javascript laesst sich im Gegensatz zu dieser Methode bei den meisten Browsern deaktivieren, ausserdem kann man bei der Methode das ganze schoener gestalten. So ein Javascript-Alert sieht nicht besonders professionell aus. Der Text "Falsches Passwort" laesst sich aber im Gegensatz zu dem Javascript-Alert mit in das Design integrieren.