Login Tutorial ja, aber Logout.

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
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.
reaVen
Mitglied
Beiträge: 26
Registriert: 17.07.2004 12:47
Wohnort: Pfungstadt

Login Tutorial ja, aber Logout.

Beitrag von reaVen »

Ich weiss ja nicht ob ich überhaupt auf dem richtigen weg bin aber ich habe die KB nun mindestens 20 mal gelesen und habe denoch fragen.

Ich habe meine Seite die ich getrennt vom Forum betreibe.
Nun habe ich den Login vom Forum benutzt. Hierbei bin ich wie folgt vorgegangen.


In meine index.php (Website) include ich ganz am Anfang test.php

Code: Alles auswählen

//Benötigte Dateien und Variablen von phpBB
define('IN_PHPBB', true);
$phpbb_root_path = '../phpbb/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);


//Session auslesen und Benutzer-Informationen laden
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);

redirect(append_sid("index.php" true));
In der rechten Navigation habe ich das Login untergebracht.

Code: Alles auswählen

	$userdata = session_pagestart($user_ip, PAGE_INDEX);
	init_userprefs($userdata);
	
	if ( $userdata['session_logged_in'] )
	{
	print'<div align="left">
		<a href="module/members/members_admin.php" target="_blank">» Profil Verwaltung</a><br>
		<a href="module/" target="_blank">» News Verwaltung</a><br>
		<a href="#">» Seiten-Einstellung</a><br>
		<a href="#">» Messages</a><br>
		<a href="#">» Freunde</a><br><br>';
		$siddy = $HTTP_GET_VARS["sid"];
		print'<a href="'.$PHP_SELF.'?logout=true&sid='.$siddy.'">» Logout</a><br>
		</div>';
		print '<form action="../phpbb/login_test.php" name="log_out" method="post">
		<input type="hidden" name="logout" value="true">
		<input type="hidden" name="redirect" value="../gilde/index.php">
		<input type="submit" name="Logout" value="Logout" style="BACKGROUND-COLOR: #F1C46F; COLOR: #A10505; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; FONT-SIZE: 9px; border: 2px inset; border-bottom-style: outset; border-left-style: outset; border-right-style: outset; border-top-style: outset; font-weight: bold; border-color: #F1C46F #F1C46F #F1C46F #F1C46F">
		</form>';
	}
	else
	{
	   //echo "User ist nicht angemeldet";
		print '<form action="../phpbb/login_test.php" method="post">
				<input type="hidden" name="nav" value="'.$nav.'">
					<table border="0" cellspacing="0" cellpadding="0">
					  <tr>
						<td valign="middle" align="left" class="login">Benutzername: <input type="text" name="username" style="height:18px; width:100px; font-size:8pt;background-color: #F4C279"></td>
					  </tr>
					  <tr>	
						<td valign="middle" align="left" class="login">Passwort: <input type="password" name="password" style="height:18px; width:100px; font-size:8pt;background-color: #F4C279"></td>
					  </tr>
					  <tr>	
						<td valign="middle" align="left" class="login">Autologin? <input type="checkbox" name="autologin"></td>
					  </tr>
					  <tr>
						<td align="center"><img src="img/spacer.gif" alt="" width="1" height="10" border="0"><br><input type="submit" name="login" value="Login" style="BACKGROUND-COLOR: #F1C46F; COLOR: #A10505; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; FONT-SIZE: 9px; border: 2px inset; border-bottom-style: outset; border-left-style: outset; border-right-style: outset; border-top-style: outset; font-weight: bold; border-color: #F1C46F #F1C46F #F1C46F #F1C46F"></td>
					  </tr>						
					</table>				
					<input type="hidden" name="redirect" value="../gilde/index.php">
	<input type="hidden" name="redirect" value="../gilde/index.php">
	
	</form>';
	}
Die Action des Forumlars geht auf die login.php des Forums die ich allerdings Kopiert und login_test.php genannt habe und den redirect fest "verdrahtet" habe.

Soweit ist das auch alles Schön und gut. Login funktioniert.

Nur wie Log ich mich wieder aus? hab es mit einem Link und Formular versucht was bei beiden nur eine Fehlermeldung "
Warning: Cannot modify header information - headers already sent by" bringt. Der Output kommt laut der Fehlermeldung aus der Datei sessions.php on line 188 die ich aber nirgends included habe aber wahrscheinlich passiert das durch die login.php aus dem phpbb.

Hat einer eine Idee wie ich das Problem löse?


Danke schonmal
reaVen
Mitglied
Beiträge: 26
Registriert: 17.07.2004 12:47
Wohnort: Pfungstadt

Beitrag von reaVen »

Gibt es so was wie eine Noob Ignore Liste ???

Ich fühle mich als ob ich auf so einer drauf bin wenn es sie denn gibt.
reaVen
Mitglied
Beiträge: 26
Registriert: 17.07.2004 12:47
Wohnort: Pfungstadt

Beitrag von reaVen »

So ich starte nochmal einen neuen versuch !!!!


Ich habe das logout problem gelöst. hab eine neue Seite logout.php gemacht mit der ich einfach nur die Session kille.

Nun mein neues Problem und ich bitte euch wirklich mal zur helfen. denn das bekomme ich nicht alleine hin.


Ich möchte das wenn der User sich auf der Page anmeldet er auf die jeweilige Seite redirected wird von der er sich angemeldet hat. Wenn er von News kommt soll er dort wieder reinkommen wenn der Login erfolgreich war.

Wie kann ich das anstellen oder konkret gefragt, ich kopiere mir die Login.php (Login2.php) und ändere die redirects.
Nur welche ??

Bitte helft mir!
Both

Beitrag von Both »

Kann man sich nicht einfach so ausloggen?

login.php?logout=true, oder so:

Code: Alles auswählen

<a href="$_SERVER['PHP_SELF']">Logout</a>
reaVen
Mitglied
Beiträge: 26
Registriert: 17.07.2004 12:47
Wohnort: Pfungstadt

Beitrag von reaVen »

das ging nicht. ich habe das login ja auf einer page.

ich habe alle meine php seiten im ordner page liegen anderes verzeichniss als phpbb. und somit gab es immer eine fehlermeldung das der header schon geschrieben wurde. somit habe ich eine neue seite gemacht:

Code: Alles auswählen

define('IN_PHPBB', true);
$phpbb_root_path = '../';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);


//Session auslesen und Benutzer-Informationen laden
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);


if( ( isset($HTTP_GET_VARS['logout']) || isset($HTTP_POST_VARS['logout']) ) && $userdata['session_logged_in'] )
	{
		session_end($userdata['session_id'], $userdata['user_id']);
		
		$back_to_url = $HTTP_GET_VARS['rediuri'];
		echo "AUSGELOGT<br>";
		echo "$back_to_url<br>";
		echo "<meta http-equiv=\"refresh\" content=\"0;url=$back_to_url\">";
		
		
		
	//}
Damit funktioniert es wunderbar.

Und möchte ich das der Login genau das selbe macht mit dem redirect s.o.
nur geht das nicht der springt immer auf ne weisse seite. Anscheinend wird der Pfad nicht richtig geschrieben. Deshalb meine Frage welche der 100 redirects in Login.php muss ich ändern ?

Aber danke schon mal für deine Antwort Timmy dachte schon in dem Forum lebt garkeiner :roll:
Christian_W
Ehemaliges Teammitglied
Beiträge: 5703
Registriert: 26.02.2004 00:09

Beitrag von Christian_W »

reaVen hat geschrieben:Ich möchte das wenn der User sich auf der Page anmeldet er auf die jeweilige Seite redirected wird von der er sich angemeldet hat. Wenn er von News kommt soll er dort wieder reinkommen wenn der Login erfolgreich war.
Du kannst der login.php als Parameter übergeben wohin nach dem Login weitergeleitet wird.

Code: Alles auswählen

http://www.deineDomain.de/login.php?redirect=privmsg.php&folder=inbox
Gruß Christian
---
Benutzeravatar
saerdnaer
Ehemaliges Teammitglied
Beiträge: 4268
Registriert: 21.04.2001 02:00

Beitrag von saerdnaer »

@reaVen: benutzt du auf deiner seite frames? und könntest du die url zu deiner seite posten?
reaVen
Mitglied
Beiträge: 26
Registriert: 17.07.2004 12:47
Wohnort: Pfungstadt

Beitrag von reaVen »

@Christian_W genau das geht ja nicht.

In dem Form ist zwar ein hidden field das redirect heisst und das ich mit $_SERVER['REQUEST_URI']; fülle also der jetzigen seite jedoch gibt es da nur eine 404er seite.

@saerdnaer Nein ich benutze keine Frames

http://www.d-creationz.de/phpbb2/

User: test
PW: test

Logt man sich von der Startseite ein: Null Problemo
Benutzt man aber erst das Testlink für PHPBB und benutzt dann das Login Form dann erhaelt man meine 404 seite.
reaVen
Mitglied
Beiträge: 26
Registriert: 17.07.2004 12:47
Wohnort: Pfungstadt

Beitrag von reaVen »

naja muss ich mich wohl wieder in Geduld üben.....

ich habe es immer noch nicht hinbekommen. Hinzu kommt das ich Probleme mit der Session bekomme wenn ich andere Globale Variablen benutze.

Naja wenn einer weiter weiss welche Zeile für den redirect in login.php zuständig ist kurz auf den BazzA drücken und schon bin ich da.
Benutzeravatar
saerdnaer
Ehemaliges Teammitglied
Beiträge: 4268
Registriert: 21.04.2001 02:00

Beitrag von saerdnaer »

man müsste das login script so bearbeiten das es automatisch das redirect feld füllt. das problem ist das aus dem $PHP_SELF ein vom forum aus gesehen relativer pfad erzeugt werden muss...

am besten wir treffen uns im phpbb.de chatund posten hier am ende die lösung ;-)

mfg saerdnaer
Antworten

Zurück zu „phpBB 2.0: Mod Support“