Seite 1 von 2

Wie schon oft: Login Problem!

Verfasst: 18.05.2007 13:56
von Christopher84
Hallo Forum Gemeinde,

habe durch das Lesen vieler Themen und Beiträge schon einiges hinbekommen - also schon mal einen Dank an dieser stelle! :grin:

Nun zu meinem Problem (habe ich in der Datenbank so nicht gefunden):

Ich möchte einen Login Bereich auf meiner index.php der Homepage haben. Die Datei liegt einfach unter localhost, wo hingegen das Forum unter localhost/forum/ ist.

Die Anforderung ist, dass nach erfolgreichem einloggen auf der index.php ein Willkommenstext inkl. dem Username + ausloggen steht.

Habe hier folgendes gefunden und benutzt:
http://www.phpbb.de/doku/kb/phpbb_seite

Daraus habe ich dann folgenden Code gewerkelt (ich weiß - sieht noch nicht soo toll aus, bin aber auch erst seit 3 Wochen an PHP dran):

Code: Alles auswählen

<?php 
//Benötigte Dateien und Variablen von phpBB 
define('IN_PHPBB', true); 
$phpbb_root_path = 'forum/'; 
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 (!$userdata['session_logged_in']) { ?>
	<form name="login" action="forum/login.php" method="post" class="login_text"> 
		<table width="100%">
			<tr>
				<td width="10%">Name:</td>
				<td><input type="text" name="username" class="login_box"></td>
			</tr>
			<tr>
				<td>Passwort:</td>
				<td><input type="password" name="password" class="login_box"></td>
			</tr>
			<tr>
				<td>Autologin?</td>
				<td><input type="checkbox" name="autologin" class="login_box"></td>
			</tr>
			<tr>
				<td></td>
				<td>
					<table width="100%">
						<tr>
							<td><input  type="submit" name="login" value="Login" class="login_box"/></td>
							<td><a href="forum/profile.php?mode=register" class="login_box">Registrieren</a></td>
						</tr>
					</table>
			</td>
			</tr>
		</table>
			
	</form>
<?php } else { ?>
	<table width="70%" align="center">
		<tr>
			<td class="login_box">Willkommen, <font color="990000"><?php echo 	$userdata['username']; ?></font>!</td>
		</tr>
		<tr>
			<td class="login_box">Schön dich wieder hier begrüßen zu dürfen!</td>
		</tr>
		<tr>
			<td class="login_box">
				<form action="forum/login.php?logout=true&sid=<?php echo $userdata['session_id']; ?>" method="post">
					<input type="hidden" name="redirect" value="../index.php" />
					<input type="submit" value="Logout" />
				</form>
			</td>
		</tr>
	</table>
<?php } ?>
Im Prinzip funktioniert alles was ich will, aber zwischendurch erhalte ich immer folgende Fehlermeldung in dem Bereich in dem der Login Bereich steht:
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\Test\index.php:10) in C:\xampp\htdocs\Test\forum\includes\sessions.php on line 366

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\Test\index.php:10) in C:\xampp\htdocs\Test\forum\includes\sessions.php on line 367
Unter dieser Fehlermeldung steht dann immer noch das Einlogfenster bzw. der Willkommenstext und es funktioniert auch. Nur, sieht die Fehlermeldung ja nun wirklich nicht sooo schön aus :)

Habe ich da totalen Murks gebaut oder kann jemand das Problem 'easy' lösen?

Wäre für alle Hinweise dankbar!


Viele Grüße
Christopher

Verfasst: 18.05.2007 16:57
von Miriam
KB:headers_already_sent

Verfasst: 18.05.2007 19:47
von Christopher84
Verstehe die Fehlermeldung leider nicht bzw. ich weiß nicht wie ich sie abstelle... :(

Verfasst: 18.05.2007 19:54
von Miriam
Gibt's auch einen Link zum live anschauen?

Verfasst: 18.05.2007 20:07
von Christopher84
Momentan habe ich es nur über xampp bei mir lokal laufen!

Vielleicht komme ich heute Abend noch dazu den Kram mal hoch zu laden!

Dann poste ich euch die URL!

Verfasst: 19.05.2007 09:42
von Christopher84
Soo,

habe eine Vorab Version hochgeladen. Leider auch nicht so einfach von einer nur unter xampp laufenden auf eine bei online laufende Version zu bekommen. :oops:

Die ist hier zu finden:
http://www.myautoindex.de/Test/index.php

Name: Test
Passwort: Test

Komischerweise tritt der oben beschriebene Fehler hier bisher nicht auf, aber jetzt funktioniert nicht mehr der Part, dass der User den Begrüßungstext in dem Bereich des Logins auf der Startseite sieht!
(Siehe oben ab '} else {')

Anscheinend merkt er sich nicht, dass die session loggin in ist, oder?! :roll:

Vielen Dank für etwaige Hinweise!

Verfasst: 19.05.2007 10:02
von Miriam
Soll denn dieses Willkommen <username> immer da stehen? Und wo soll es genau stehen?

Mach vllt. mal ein Bildschirmfoto und kreuze an, wo was stehen soll und wie oft/lange.

Verfasst: 19.05.2007 10:18
von Christopher84
Die Antwort kam ja schnell! :grin:

So soll es eigentlich aussehen wenn man sich im Forum eingeloggt hat:

[ externes Bild ]

Verfasst: 19.05.2007 10:35
von Miriam
Also im Prinzip ist der Code, den Du oben gepostet hast, schon okay so, wie er ist.
Und genau diesen hast Du jetzt auch in Deiner online-index Datei mit drin?

Verfasst: 19.05.2007 10:44
von Christopher84
Nö, der ist gleich geblieben... :-?

Echt komische Sache. Habe mit meiner nicht vorhandenen Fachkenntnis noch mal durchgeschaut und keinen Fehler finden können :roll: