Seite 5 von 13
Verfasst: 18.10.2002 01:22
von PhilippK
Um zum offenen Prob zu kommen.
Eigentlich sollte es reichen, in der profile.php aus
Code: Alles auswählen
if ( $mode == 'viewprofile' )
{
include($phpbb_root_path . 'includes/usercp_viewprofile.'.$phpEx);
exit;
}
ein
Code: Alles auswählen
if ( $mode == 'viewprofile' )
{
if ( !$userdata['session_logged_in'] )
{
$header_location = ( @preg_match("/Microsoft|WebSTAR|Xitami/", getenv("SERVER_SOFTWARE")) ) ? "Refresh: 0; URL=" : "Location: ";
header($header_location . append_sid("profile.$phpEx?mode=register", true));
exit;
}
include($phpbb_root_path . 'includes/usercp_viewprofile.'.$phpEx);
exit;
}
zu machen. Natürlich ohne Gewähr
Gruß, Philipp
Verfasst: 18.10.2002 01:42
von Guido
ICH WERD VERRÜCKT !!
PhilippK Du bist ein junger Gott!!
Entschuldige wenn ich so überschwenglich werde, aber seit Stunden sitze ich und andere hier dran und Du kommst mal eben so vorbei nach dem Motto: " och das geht doch so..." Klasse !!
Vielen Vielen Dank, auch dafür, dass ich jetzt endlich schlafen kann !!
Verfasst: 18.10.2002 02:15
von Guido
Noch was vergessen. Kannst Du es vielleicht auch ein wenig erklären, man will ja auch was dazu lernen

?
Was bedeutet z.B.dieser Teil:
$header_location = ( @preg_match("/Microsoft|WebSTAR|Xitami/", getenv("SERVER_SOFTWARE")
Verfasst: 18.10.2002 08:04
von PhilippK
Guido hat geschrieben:PhilippK Du bist ein junger Gott!!
Wir dürfen ruhig auf dem Boden der Tatsachen bleiben
Guido hat geschrieben:Noch was vergessen. Kannst Du es vielleicht auch ein wenig erklären, man will ja auch was dazu lernen

?
Was bedeutet z.B.dieser Teil:
$header_location = ( @preg_match("/Microsoft|WebSTAR|Xitami/", getenv("SERVER_SOFTWARE")
Man muss das schon vollständig begutachten:
Code: Alles auswählen
$header_location = ( @preg_match("/Microsoft|WebSTAR|Xitami/", getenv("SERVER_SOFTWARE")) ) ? "Refresh: 0; URL=" : "Location: ";
header($header_location . append_sid("profile.$phpEx?mode=register", true));
Da geht's - kurz gesagt - darum, dem Server zu sagen, dass er eine andere Seite (profile.php?mode=register) anzeigen soll. Da da die Server keine einheitliche Sprache sprechen, wird der Befehl je nach Server etwas angepasst...
Aber letztendlich ist es nur vom Code ein paar Zeilen weiter unten geklaut
Gruß, Philipp
Verfasst: 18.10.2002 08:20
von Guido
Hallo Philipp
Danke für die Erläuterung.
Im Grunde hatten Plexus und ich mit den o.g. Codes das selbe versucht, lag das jetzt "nur" an dieser Serversprache oder habe ich (wir) einen grundsätzlichen Denkfehler ?
Verfasst: 18.10.2002 09:16
von PhilippK
Guido hat geschrieben:Im Grunde hatten Plexus und ich mit den o.g. Codes das selbe versucht, lag das jetzt "nur" an dieser Serversprache oder habe ich (wir) einen grundsätzlichen Denkfehler ?
So wie ich das jetzt auf die schnelle sehe, habt ihr entweder auf die falsche Datei (login.php) oder eben eine Endlosschleife erzeugt, da ihr die ganze profile.php geschützt habt (die wird eben auch zur Registrierung benötigt

)
Gruß, Philipp
Verfasst: 18.10.2002 09:25
von Guido
Hi Philipp
Ja das mit der Login habe ich schnell gemerkt, aber wieso erzeugt dieser Code eine Endlosschleife (bitte mal genau erklären

) und sorry wenn ich nerve, wenn Du keine Lust mehr hast einfach nicht merh antworten

...
if( !$userdata['session_logged_in'] )
{
header("Location: " . append_sid("profile.$phpEx?mode=register?redirect=profil.$phpEx", true));
exit;
}
Verfasst: 18.10.2002 17:08
von PhilippK
Guido hat geschrieben:aber wieso erzeugt dieser Code eine Endlosschleife (bitte mal genau erklären
if( !$userdata['session_logged_in'] )
{
header("Location: " . append_sid("profile.$phpEx?mode=register?redirect=profil.$phpEx", true));
exit;
}
Wenn ein unangemeldeter User die Seite profile.php aufruft, wird die if-Bedingung ausgeführt. Die wiederrum leitet den User auf die Seite profile.php weiter, wo der User immer noch nicht angemeldet ist und daher (Treffer!) wieder auf die profile.php weitergeleitet wird und...
Das ganze geht so lange, bis einem der Beteiligten (Client, Server, User, ...) die Lust an diesem Spielchen ausgeht...
Gruß, Philipp
Verfasst: 18.10.2002 17:20
von Guido
Aha wieder was dazu gelernt, ich dachte das mode=register würde den Unterschied ausmachen.....
..und nochmals vielen Dank für Deine Hilfe und Deine Geduld
Viele Grüße Guido
Verfasst: 18.10.2002 17:51
von Gast
... klappt der Eingriff denn jetzt???