PHP - Meldung zeigen bevor, weitergeleitet wird
Hi NG,
ich habe nochmal ein kleines Problem.
Im Code-Schnipsel:
möchte ich versuchen, bei fehlerhafter Anmeldung eine Meldung auszugeben. Die Weiterleitung funktioniert zwar aber die Meldung nicht.
Gruß
Andy
PS: in der Darstellung sind anscheinend die Code-Tags verlohren gegangen!
ich habe nochmal ein kleines Problem.
Im Code-Schnipsel:
if ($num_rows == 1)
{
//funktioniert
header("location:http://localhost/php/html/weiter.html");
}
else
{
//Hier soll Meldung vor der Weiterleitung kommen
echo '<script language="text/javascript">alert("Anmeldung erfogt");</script>';
header("location:http://localhost/php/html/anmeldung.html");
}
möchte ich versuchen, bei fehlerhafter Anmeldung eine Meldung auszugeben. Die Weiterleitung funktioniert zwar aber die Meldung nicht.
Gruß
Andy
PS: in der Darstellung sind anscheinend die Code-Tags verlohren gegangen!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 203703
Url: https://administrator.de/forum/php-meldung-zeigen-bevor-weitergeleitet-wird-203703.html
Ausgedruckt am: 08.04.2025 um 06:04 Uhr
11 Kommentare
Neuester Kommentar
Und die Weiterleitung per HTML Meta-Tag oder Javascript machen.
http://de.selfhtml.org/html/kopfdaten/meta.htm#weiterleitung
http://de.selfhtml.org/html/kopfdaten/meta.htm#weiterleitung

Hallo,
mit deiner header()-Funktion wirst du ohnehin so noch Schwierigkeiten bekommen:
Zitat: "Beachten Sie, dass Sie die Funktion header() aufrufen müssen, bevor Sie irgendeine andere Art von Ausgabe (seien es normale HTML-Tags, Leerzeilen in einer Datei oder von PHP) zum Client schicken." (Quelle: http://php.net/manual/de/function.header.php)
Und eine Meldung nach dem header()-Aufruf wird nicht erscheinen, da du ja schon umleitest.
Was du machen kannst:
1. Meldung per Javascript-Alert und Umleitung ebenfalls per Javascript.
2. Wie viele Foren-Systeme es machen:
- ausgeben, ob der Login erfolgreich war oder nicht (ggf. per echo())
- dann via META-Refresh auf eine andere Seite weiterleiten
3. Meldung ausgeben, ob der Login erfolgreich war - dann einen Button "weiter" erzeugen.
Gruß,
Florian
mit deiner header()-Funktion wirst du ohnehin so noch Schwierigkeiten bekommen:
Zitat: "Beachten Sie, dass Sie die Funktion header() aufrufen müssen, bevor Sie irgendeine andere Art von Ausgabe (seien es normale HTML-Tags, Leerzeilen in einer Datei oder von PHP) zum Client schicken." (Quelle: http://php.net/manual/de/function.header.php)
Und eine Meldung nach dem header()-Aufruf wird nicht erscheinen, da du ja schon umleitest.
Was du machen kannst:
1. Meldung per Javascript-Alert und Umleitung ebenfalls per Javascript.
2. Wie viele Foren-Systeme es machen:
- ausgeben, ob der Login erfolgreich war oder nicht (ggf. per echo())
- dann via META-Refresh auf eine andere Seite weiterleiten
3. Meldung ausgeben, ob der Login erfolgreich war - dann einen Button "weiter" erzeugen.
Gruß,
Florian

Hallo,
1.
2.
3.
Ich hoffe ich konnte dir helfen.
Gruß
Florian
1.
<script type="text/javascript">
alert('Login erfolgreich!');
window.location = "http://www.google.com/";
</script>
2.
<b>Login erfolgreich! Sie werden in wenigen Sekunden weitergeleitet...</b>
<meta http-equiv="refresh" content="3; URL=http://www.example.com/seite">
3.
<b>Login erfolgreich! Bitte klicken Sie nun auf "weiter"</b>
<a href="http://www.example.com/seite">Weiter</a>
Ich hoffe ich konnte dir helfen.
Gruß
Florian
Hi Andy,
man kann auch noch eine Info ausgeben, warum man weitergeleitet wird,
und läßt dem User noch ein paar Sekunden Zeit, diese Info zu lesen.
Gruß
Günni
man kann auch noch eine Info ausgeben, warum man weitergeleitet wird,
und läßt dem User noch ein paar Sekunden Zeit, diese Info zu lesen.
<?php
$num_rows = 2;
if ($num_rows == 1){
header("location:http://localhost/php/html/weiter.html");
exit;
}
?>
<html>
<head>
<title>Weiterleitung nach n Sekunden</title>
<script type="text/javascript">
<!--
var seconds = 5;
var aktiv = window.setInterval("countdown()", 1000);
function countdown (){
document.getElementById("show_counter").innerHTML='Ihre Anmeldedaten waren falsch. Sie werden in ' + seconds + ' Sekunden weitergeleitet.';
if(seconds == 0){
window.clearInterval(aktiv);
// Weiterleitung:
window.location.href = 'http://www.google.com';
}
seconds --;
}
// -->
</script>
</head>
<body>
<div id="show_counter"></div>
</body>
</html>
Gruß
Günni

Hi,
dann bau doch einfach eine Funktion draus:
Den Aufruf machst du im Erfolgsfall z.B. folgendermaßen:
Oder du nimmst die Lösung von Günni
Gruß,
Florian
dann bau doch einfach eine Funktion draus:
<script type="text/javascript">
function weiterleitung(meldung,ziel)
{
alert(meldung);
window.location = ziel;
}
Den Aufruf machst du im Erfolgsfall z.B. folgendermaßen:
if ($num_rows == 1){
echo '<script type="text/javascript">';
echo 'weiterleitung("Login erfolgreich!","http://meine.seite/unterseite.html");';
echo '</script>';
}
Oder du nimmst die Lösung von Günni
Gruß,
Florian