Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

automatische Weiterleitung nach Login





Frage

Nabend allerseits ;) Hab mal wieder ein Problem; ich habe hier ein Login-Script funktioniert auch super. Aber ich will das er im Fall eines erfolgreichen Logins auf eine nachfolgende Seite verlinkt. Sollte ja eigentlich ganz simple sein ich hab aber trotzdem meine Probleme, der nachfolgende Code ist gekürzt und enthält nur noch die elementaren Funktionen, wäre wirklich nett wenn jemand eine Lösung hätte, dass der User ohne sein Zutun auf eine nachfolgende Seite verwiesen würde. ;) [code]<head> </head> <?php if($_REQUEST[´Send´]) { $DatabasePointer = mysql_connect($DatabaseHost, $DatabaseUser, $DatabasePassword); mysql_select_db($Database, $DatabasePointer); if(mysql_num_rows(mysql_query("SELECT User FROM $TableLogin WHERE User=´".stripslashes($_REQUEST[´User´])."´ AND Passwort=´".stripslashes($_REQUEST[´Passwort´])."´", $DatabasePointer))==1) { mysql_query("UPDATE $TableLogin SET LetzterLogin=´".date("Y-m-d H:i:s")."´ WHERE User=´".stripslashes($_REQUEST[´User´])."´ AND Passwort=´".stripslashes($_REQUEST[´Passwort´])."´", $DatabasePointer); [b]Hier müsste ja eigentlich das weiterlinken erfolgen[/b] } else { echo"Der User und/oder das Passwort wurden nicht gefunden!"; } } else { ?> <body bgcolor="#333333" text="#FFFFFF"> <table width="100%" height="530" border="0" cellspacing="0" cellpadding="0"> <tr> <td align="center" valign="middle"> <table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor=""> <tr bgcolor="#000000"> <td align="center"><div align="right"><a href="index.php"><img src="images/arrowleft.gif" width="6" height="8"> <span class="Stil2">back</span></a> <a href="login.php"><img src="images/gerflag.jpg" width="28" height="16" border="0"></a> <a href="login.php"><img src="images/gbflag.jpg" width="28" height="16" border="0"></a></div></td> </tr> <tr bgcolor="#000000"> <td align="center"> <form action="<?php echo$_SERVER[´PHP_SELF´]; ?>" method="post"> User <input maxlength="50" name="User" type="text"> Passwort <input maxlength="50" name="Passwort" size="10" type="password"> <br> <br> <input name="Send" type="submit" value="Login"></form> </td> </tr> </p><p> </p></td> </tr> </table> </td> </tr> </table> <?php } ?>[/code] Danke im Voraus für eure Mühen, S1lv3R

Antwort 1 von naja

gute nacht! :-)

also ne weiterleitung funktioniert folgendermaßen:

header(´location: [url wos hingehen soll]´);

dieser befehl muss aber vor jeglicher ausgabe stehen, also wie ein session_start :-)

mfg naja

Antwort 2 von S1lv3R

Nachtaktiv wie? ;)
Danke für die Schnelle Hilfe erstmal :)
Also wenn ich diesen Redirect jetzt vor jegliche Ausgabe schreibe kommt es ja gar nicht mehr zum einloggen. Deswegen hatte ich ja auch einen teil markiert wo meines Erachten nach das einloggen vollzogen ist, genau in diesem Moment soll er ja weiter leiten und aber auch nur wenn das Einloggen erfolgreich war.
Sehe ich das richtig das dieses Script total falsch ansetzt und diese Weiterleitung gar nicht erfolgen kann nach dem einloggen?

Antwort 3 von naja

hi,

machs doch so:


loginFormular->Funktion die login checkt und ggf weiterleitet

mfg naja

Antwort 4 von S1lv3R

Ja so ist es auch geplant, aber wie nur?
<?php
if($_REQUEST[´Send´])
*hier stehen die loginbedingungen*
Loginbedingungen sind erfüllt = Weiterleitung
else ....
?>
Wie kann ich dann hier Weiterleiten? Der redirect funktioniert ja nicht weil schon etwas ausgegeben wurde, oder sehe ich das falsch?

Antwort 5 von Bruim

Zitat:
Der redirect funktioniert ja nicht weil schon etwas ausgegeben wurde, oder sehe ich das falsch?

Ja, ich glaube das siehst Du falsch. Nichts auszugeben heisst, dass nichts an den Browser gesendet wird, das man in der Quellcodeanzeige des Browsers sehen würde. Es heisst nicht, dass kein PHP-Code abgearbeitet werden darf.

Antwort 6 von S1lv3R

Ja klar, geht jetzt, Denkfehler von mir. Eins noch: kann man beim php redirect auch eine Wartezeit angeben wie beim http meta refresh? Steht leider in keiner Befehlsreferenz drin.

Antwort 7 von Bruim

Zitat:
kann man beim php redirect auch eine Wartezeit angeben wie beim http meta refresh?


Hi!

Dieser Refresh hat eigentlich nichts mit PHP selbst zu tun. Es ist ein allgemeiner HTTP-Refresh im Gegensatz zum von Dir zitierten HTML-Refresh. Dieser Location-Header unterstützt keine Angabe einer Wartezeit. Du kannst höchstens Deinen Server (mittels PHP) warten lassen, bevor Du diesen HTTP-Header an den Client ausgibst.

Antwort 8 von S1lv3R

Gut, vielen danke für eure Hilfe :)

Antwort 9 von phpNooB

Morgen,

ich hoffe ich hab das richtig gelesen, inspesondere den letzten Teil. Wie wäre es denn, wenn du zwischen den weiterleitenden Berreich noch ne kleine HTML Datei klemmst, die nach 1,2,3,4 sek. weiterleitet ? Sprich das PHP-Scrip verweist nach erfolgreichem Login auf "wartezeit.html" und diese wiederum verweist nach den Wartesekunden auf deine richtige "intern/privat.php".

Ich hoffe ich konnte auch erfolgreich meinen Senf dazu geben, warscheinlich eh schon veraltet das Thema...

So Kafee zuende und nun aber los ....

Mfg NooB

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: