Nach erfolgreichem Login ---> Weiterleitung?

CPoly

Mitglied Weizenbier
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");
 

lissylucky

Mitglied
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
 

lissylucky

Mitglied
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>"; 
    } 

?>
 

SpiceLab

ZENmechanic
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:

lissylucky

Mitglied
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
 

iBirne

Mitglied
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.
 

lissylucky

Mitglied
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
 

SpiceLab

ZENmechanic
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: