[Problem] Mit Login

LordXtra

Mitglied
Hi, erstmal hier der Code:

<?php
/* ----------- BEGIN DER LOGIN ROUTINE ----------- */
$dbresult = db_befehl( "SELECT * FROM kdservice WHERE userid='$userid';" );
$rowsfound = mysql_num_rows( $dbresult );

if( $rowsfound )
{
$userdata = mysql_fetch_array( $dbresult );
$ret_userid = $userdata[ "userid" ];
$ret_pass = $userdata[ "pass" ];
$ret_stats = $userdata[ "stats" ];

if ($ret_userid == "$userid" && $ret_pass == "$pass")
<meta http-equiv = "refresh" content = "2; url = http://cgi.alles-online.de/kundenservice/kundenservice.php>
}
else
{
<meta http-equiv = "refresh" content = "2; url = http://www.alles-online.de/>
}
?>

Ihr seht ja in etwa worum es geht. Das Script holt sich die Benutzerdaten aus der DB. So, mein Problem ist jetzt nur, wie krieg ich es hin, dass das Script, wenn die Daten die der Benutzer eingibt richtig sind, auf die geschützte Seite weitergeleitet wird und wenn nicht, auf eine Error Page kommt?

Danke für die Mühe.

PS: Abgesehen davon bekomme ich bei der <meta... sowieso einen Parse Error. Wieso?
 
Zuletzt bearbeitet:
hi,

also ich hab keine ahnung aber...
PHP:
<?php 
/* ----------- BEGIN DER LOGIN ROUTINE ----------- */ 
$dbresult = db_befehl( "SELECT * FROM kdservice WHERE userid='$userid';" ); 
$rowsfound = mysql_num_rows( $dbresult ); 

if( $rowsfound ) 
{ 
$userdata = mysql_fetch_array( $dbresult ); 
$ret_userid = $userdata[ "userid" ]; 
$ret_pass = $userdata[ "pass" ]; 
$ret_stats = $userdata[ "stats" ]; 

if ($ret_userid == "$userid" && $ret_pass == "$pass") 
<meta http-equiv=\"refresh\" content=\"2; url = http://cgi.alles-online.de/kundense...ndenservice.php\"> //siehe kommentar unten...
} 
else 
{ 
<meta http-equiv=\"refresh\" content=\"2; url = http://www.alles-online.de/\">  //kann mir da einer was zu sagen? ich glaub nich das das so geht ;)
} 
?>
glaub das ist schon dein fehler von mysql hab ich sowieso kein plan aber geht das so??

cu, slimie
 
So in etwa müsste es klappen. Passwort & user_id immer über MySQL abfragen, erspart einem ne menge if cases.

PHP:
<?php 
/* ----------- BEGIN DER LOGIN ROUTINE ----------- */ 
$dbresult = db_befehl( "SELECT * FROM kdservice WHERE userid='$userid' AND pass='$pass';" ); 
$rowsfound = mysql_num_rows( $dbresult ); 

if( $rowsfound ) 
{
echo ("<script>window.location.href=\"sichere_seite.php\"</script>");
}
else
{
echo ("<script>window.location.href=\"fehler_seite.php\"</script>");
}
?>

Das ganze funktioniert zwar auch wenn du nur das script tag im file stehen hast, aber schöner und standardmässiger wäre es wenn du drum herum das ganze html gerüst ausgeben und <script>window.location...</script> als einziges in den Bondy setzten würdest.
Du kannst es natürlich auch mit Metag Tags oder HTTP Headern machen.

Übrigens es ist ganz klar dass du nen Parse error bekommst. Guck dir die stelle heir genau an:
PHP:
if ($ret_userid == "$userid" && $ret_pass == "$pass") 
<meta http-equiv="refresh\" content=\"2; url = <a href="http://cgi.alles-online.de/kundense...ndenservice.php\" target="_blank">http://cgi.alles-online.de/kundense...ndenservice.php</a>"> //siehe kommentar unten...
} 
else 
{ 
<meta http-equiv="refresh\" content=\"2; url = <a href="http://www.alles-online.de/\" target="_blank">http://www.alles-online.de/</a>">  //kann mir da einer was zu sagen? ich glaub nich das das so geht <img src="images/smilies/wink.gif" border="0" alt="">
}

Meta tags sind HTML elemente. Wie gibt man über PHP html elemente aus? Richtig, mit echo.
Müsste dann so aussehen:
PHP:
echo '<meta http-equiv="refresh" content="5; URL=http://www.deine_domain.de/deine_datei.php/">';

Zu beachten ist hier, dass meta tags IM Kopf stehen. Also zwischen <head> und </head>. SelfHTML beschreibt recht gut wenn du nicht genau weisst wo du die dinger reinpacken kannst.

So Long
TheVirus
 
Zuletzt bearbeitet:
Hmmm, danke. Nur wenn ich bei beiden Adressen natürlich unterschiedliche Seiten angebe komme ich immer auf die Error Page.
Beim korrekten Log In erscheint kurz die sichere Seite aber dann kommt man direkt auf die Error Page. :eek:
 
Original geschrieben von LordXtra
Hmmm, danke. Nur wenn ich bei beiden Adressen natürlich unterschiedliche Seiten angebe komme ich immer auf die Error Page.
Beim korrekten Log In erscheint kurz die sichere Seite aber dann kommt man direkt auf die Error Page. :eek:

Wie bindest du denn die login datei ein? Und was für ne error page kriegst du? File not found? access denied? oder ein PHP fehler? Poste mal den error code.

Laufen die beiden anderen seiten ohne dem login?

So Long
TheVirus
 
Zurück