• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

automatische Weiterleitung

Status
Für weitere Antworten geschlossen.

shade

Neues Mitglied
Morgchen. Habe folgendes Problem, ich hab nen Login. Nach erfolgreichen anmelden soll man gleich zu einer bestimmten Seite weitergeleitet werden.
Also die Seite steht in der DB, je nach dem wer sich anmeldet wird an eine Seite weitergeleitet. Hab das bis jetzt so, will aber dass das automatisch von statten geht. Hat wer eine Ahnung wie man das realisieren kann!?

Code:
<p align="center" class="Stil1">LogIn erfolgreich<br><br><a href="http://www.xxx.de/usrmgt/<?PHP echo($_SESSION["link"]);?> " target="_parent">Weiter</a></p>
 
Ja, mit header("Location: hierURLeinsetzen"); als HTTP-Header. Dann darf davor natürlich keine weitere Ausgabe erfolgen.
 
Nein. Leerzeichen sollten in der URL nicht vorkommen (zwischen "usrmgt/" unde "echo", außerdem vermute ich, dass "echo" oder "$_SESSION" nicht in der URL vorkommen sollen, oder? :-)

Schau nochmal nach, wie man Strings miteinander verbindet.
 
Schau nochmal nach, wie man Strings miteinander verbindet.
Ahh mitm Punkt (.)


außerdem vermute ich, dass "echo" oder "$_SESSION" nicht in der URL vorkommen sollen, oder?
Stimmt, Gänsefüsschen falsch gesetzt.


Aber es funktioniert immer noch nicht, immer noch der gleiche Fehler.
So siehts jetzt aus.

PHP:
header('Location: http://www.xxx.de/usrmgt/'.echo($_SESSION["link"]));
 
Natürlich. Was returnt denn echo? Einen String? Den man dann mit einem anderen verbinden kann?
Nein. echo returnt gar nichts, es gibt einen String aus. Ein Befehl darf nicht Teil Deines Strings sein.
Du darfst nur die beiden Strings miteinander verbinden.
 
Hab das jetzt so verstanden,
PHP:
    <?PHP 
        $adresse="http://www.xxx.de/usrmgt/";
        $link=$_SESSION["link"];
        $adresse=$adresse.$link;
        
        header('Location:'$adresse);
    ?>

Nur funktioniert das auch nicht. Hab kein plan von PHP...
 
Da die Funktion header() auch einen String erwartet musst du den auch mit einem Punkt verbinden:
PHP:
header('Location:'.$adresse);
Gruß thuemmy
 
Das ist ja kein Link. Also nein.
Du müsstest beim Aufruf des Script, also aus dem Login-Formular heraus, bereits ein anderes Fenster als Ziel bestimmen.

Aber das mit den anderen Fenstern würde ich sein lassen. Das mag jeder Nutzer lieber selbst entscheiden. Außerdem, stell Dir das in Deinem Fall mal vor. Dann bleibt die Seite mit der Login-Maske im Browser stehen. Wie unsinnig, wo man doch anschließend eingeloggt ist.
 
Mein Problem ist, ich hab nen Frame wo ich die .php Datei anzeigen lasse. Wenn ich das jetzt aber so mache, wird die Seite nur in dem Frame angezeigt. Will die aber komplett angezeigt bekommen. Wie es eben bei target="_parent" geschieht. Also muss ich mir da was anderes einfallen lassen!?
 
Joa ich weiß, hab ich selber schon oft genug bemerkt. Aber wie kann man es dann sonst realisieren. Wie gesagt, meine Kenntnisse in PHP sind so gut wie null.
 
Gib Deinem form-Tag halt target="_parent". Meines Wissens sollte form target als Attribut zulassen.

Aber seit Jahren arbeite ich nicht mehr mit Frames. Damit holt man sich mehr Probleme ins Haus, als man im ersten Moment glaubt, gelöst zu haben.

Um auf Frames zu verzichten, braucht man kein PHP.
Um auf Frames zu verzichten und trotzdem auf einige Vorteile nicht verzichten zu müssen, braucht man eine serverseitige Technik zum includen. Das muss nicht PHP sein, kann auch SSI, CGI, ASP etc. sein. Und programmieren muss man dazu auch nicht können, es reicht, wenn man weiß, wie man den include()-Befehl einbindet und was er macht.
 
Gib Deinem form-Tag halt target="_parent". Meines Wissens sollte form target als Attribut zulassen.

Geht wirklich so, vielen Dank. Werd ich mir aufjedn merken.


Naja vielleicht werd ich mich mal zu überwinden endlich diese Frames zu verabschieden.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben