Nach erfolgreichem Login ---> Weiterleitung?

Das hat nichts mit JavaScript zu tun. Je nach dem welche Sprache du serverseitig verwendest (PHP, .NET, Java, etc.) seht die Lösung etwas anders aus. Im Prinzip musst du den HTTP status code 302 zurückgeben und den HTTP Header "Location" auf die neue Adresse setzen. In .Net (c#) wäre das z.B.

C#:
Response.Redirect("http://www.google.com");
 
JA also ich habe PHP verwendet.

Code:
header("Location: datei.htm");

Das ist der Code für PHP.
Nur führt der mich auch zur Zieldatei, wenn der Login falsch war.
Kann jemand helfen?


Code:
<?php 
session_start(); 
header("Location: redeem.html");
?> 

<?php 
$verbindung = mysql_connect("localhost", "web131" , "rewardz") 
or die("Verbindung zur Datenbank konnte nicht hergestellt werden"); 
mysql_select_db("usr_web131_1") or die ("Datenbank konnte nicht ausgewählt werden"); 

$email = $_POST["email"]; 
$passwort = md5($_POST["password"]); 

$abfrage = "SELECT email, passwort FROM login WHERE email LIKE '$email' LIMIT 1"; 
$ergebnis = mysql_query($abfrage); 
$row = mysql_fetch_object($ergebnis); 

if($row->passwort == $passwort) 
    { 
    $_SESSION["email"] = $email; 
    echo "Login erfolgreich. <br> <a href=\"redeem.php\">Geschützer Bereich</a>"; 
    } 
else 
    { 
    echo "E-Mail und/oder Passwort waren falsch. <a href=\"index2.html\">Login</a>"; 
    } 

?>




@Mod: Bitte in PHP verschieben
 
Da kommt dann folgendes:



Parse error: syntax error, unexpected T_ELSE in /var/www/web131/html/testtt/test2/login.php on line 22



Code:

Code:
<?php 
session_start(); 
?> 

<?php 
$verbindung = mysql_connect("localhost", "web131" , "rewardz") 
or die("Verbindung zur Datenbank konnte nicht hergestellt werden"); 
mysql_select_db("usr_web131_1") or die ("Datenbank konnte nicht ausgewählt werden"); 

$email = $_POST["email"]; 
$passwort = md5($_POST["password"]); 

$abfrage = "SELECT email, passwort FROM login WHERE email LIKE '$email' LIMIT 1"; 
$ergebnis = mysql_query($abfrage); 
$row = mysql_fetch_object($ergebnis); 

if($row->passwort == $passwort) 
    { 
    $_SESSION["email"] = $email; 
	header("Location: redeem.html");  
   
else 
    { 
    echo "E-Mail und/oder Passwort waren falsch. <a href=\"index2.html\">Login</a>"; 
    } 

?>
 
Da kommt dann folgendes:



Parse error: syntax error, unexpected T_ELSE in /var/www/web131/html/testtt/test2/login.php on line 22

PHP:
if($row->passwort == $passwort) 
    { 
    $_SESSION["email"] = $email; 
    header("Location: redeem.html");  
    }  // fehlt nun gegenüber deinem vorher gezeigten Code  in Zeile 21
else

Ein aktivierter Syntax-Highlighter im genutzten Editor soll ja in solchen Fällen wahre Wunder wirken, und den Syntax-Fehler (farblich) hervorheben, wenn schon die aussagekräftige Fehlermeldung einem nichts zu sagen hat ;-)
 
Zuletzt bearbeitet:
Danke, jetzt kommt folgender Fehlercode:

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /var/www/web131/html/testtt/test2/login.php on line 15
E-Mail und/oder Passwort waren falsch. Login
 
Nach erfolgreichem Login ---> Weite ...

Wenn du mit PHP Weiterleitungen erstellst setzte immer ein exit; dahinter, hierdurch verhinderst du auch die weitere Ausführung von Code.
 
Code:
<?php 
session_start(); 
?> 

<?php 
$verbindung = mysql_connect("localhost", "web131" , "rewardz") 
or die("Verbindung zur Datenbank konnte nicht hergestellt werden"); 
mysql_select_db("usr_web131_1") or die ("Datenbank konnte nicht ausgewählt werden"); 

$email = $_POST["email"]; 
$passwort = md5($_POST["password"]); 

$abfrage = "SELECT email, passwort FROM login WHERE email LIKE '$email' LIMIT 1"; 
$ergebnis = mysql_query($abfrage); 
$row = mysql_fetch_object($ergebnis); 

if($row->passwort == $passwort) 
    { 
    $_SESSION["email"] = $email; 
	header("Location: redeem.html");  
	exit();
	}
else 
    { 
    echo "E-Mail und/oder Passwort waren falsch. <a href=\"index2.html\">Login</a>"; 
    } 

?>


Neue Fehlermeldung:

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /var/www/web131/html/testtt/test2/login.php on line 15
E-Mail und/oder Passwort waren falsch. Login
 
Neue Fehlermeldung:

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /var/www/web131/html/testtt/test2/login.php on line 15
Neuer Fehler? Wo denn?

Danke, jetzt kommt folgender Fehlercode:

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /var/www/web131/html/testtt/test2/login.php on line 15

PHP:
$row = mysql_fetch_object($ergebnis); // Zeile 15 deiner beiden zuletzt gezeigten PHP-Varianten
 
Zuletzt bearbeitet:
Zurück