memberliste für nicht registrierte sperren

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag 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
Benutzeravatar
Guido
Mitglied
Beiträge: 1307
Registriert: 06.10.2002 09:44
Wohnort: Rheinland
Kontaktdaten:

Beitrag 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 !!
Benutzeravatar
Guido
Mitglied
Beiträge: 1307
Registriert: 06.10.2002 09:44
Wohnort: Rheinland
Kontaktdaten:

Beitrag von Guido »

Noch was vergessen. Kannst Du es vielleicht auch ein wenig erklären, man will ja auch was dazu lernen :wink: ?
Was bedeutet z.B.dieser Teil:
$header_location = ( @preg_match("/Microsoft|WebSTAR|Xitami/", getenv("SERVER_SOFTWARE")
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag 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 :wink: ?
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 :D

Gruß, Philipp
Benutzeravatar
Guido
Mitglied
Beiträge: 1307
Registriert: 06.10.2002 09:44
Wohnort: Rheinland
Kontaktdaten:

Beitrag 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 ?
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag 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
Benutzeravatar
Guido
Mitglied
Beiträge: 1307
Registriert: 06.10.2002 09:44
Wohnort: Rheinland
Kontaktdaten:

Beitrag 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 :wink: ) 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;
}
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag 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
Benutzeravatar
Guido
Mitglied
Beiträge: 1307
Registriert: 06.10.2002 09:44
Wohnort: Rheinland
Kontaktdaten:

Beitrag 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
Gast

Beitrag von Gast »

... klappt der Eingriff denn jetzt???
Antworten

Zurück zu „phpBB 2.0: Mods in Entwicklung“