Externer Log-In

Fragen zur Bedienung von phpBB 3.0.x, Probleme bei der Benutzung und alle weiteren Fragen inkl. Update auf die neuste phpBB 3.0.14 Version
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
niffi
Mitglied
Beiträge: 185
Registriert: 09.03.2003 22:02

Beitrag von niffi »

in meinem header steht (also im header der externen seite)
session_name();
session_start();

define('IN_PHPBB', true);
$phpbb_root_path = 'forum/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();
Mögt ihr diese Signaturen? Ich nicht.
marioaldag
Mitglied
Beiträge: 9
Registriert: 15.03.2007 15:31

Beitrag von marioaldag »

mmh bei mir kommt dann :

Code: Alles auswählen

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /var/kunden/webs/jonabus/evjnw_neu/gruppen/beatbox.php:2) in /var/kunden/webs/jonabus/evjnw_neu/gruppen/beatbox.php on line 4
[phpBB Debug] PHP Notice: in file /includes/session.php on line 821: Cannot modify header information - headers already sent by (output started at /var/kunden/webs/jonabus/evjnw_neu/gruppen/beatbox.php:2)
[phpBB Debug] PHP Notice: in file /includes/session.php on line 821: Cannot modify header information - headers already sent by (output started at /var/kunden/webs/jonabus/evjnw_neu/gruppen/beatbox.php:2)
[phpBB Debug] PHP Notice: in file /includes/session.php on line 821: Cannot modify header information - headers already sent by (output started at /var/kunden/webs/jonabus/evjnw_neu/gruppen/beatbox.php:2)
Benutzeravatar
niffi
Mitglied
Beiträge: 185
Registriert: 09.03.2003 22:02

Beitrag von niffi »

na da baust du es an die falsche stelle...

der code muss natürlich über dem <html doctype.-...> stehen... dann sollte es gehn...
Mögt ihr diese Signaturen? Ich nicht.
marioaldag
Mitglied
Beiträge: 9
Registriert: 15.03.2007 15:31

Beitrag von marioaldag »

ja der code steht über allem. Ganz oben

Code: Alles auswählen


<?php
session_name();
session_start();

define('IN_PHPBB', true);
$phpbb_root_path = '../forum/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup(); 
?>
<html xmlns="http://www.w3.org/1999/xhtml"><!-- InstanceBegin template="/Templates/index.dwt" codeOutsideHTMLIsLocked="false" -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<!-- InstanceBeginEditable name="doctitle" -->
<title>Evangelische Jugend Neu Wulmstorf | >>> Wir hinterlassen Spuren <<< |</title>
<!-- InstanceEndEditable --><!-- InstanceBeginEditable name="head" --><!-- InstanceEndEditable -->
<link href="/Templates/style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
				function pop(file,windowname,features)
				{
					helpwindow = window.open(file,windowname,features);
					helpwindow.focus();
					return false;
				}
				</script> 
<style type="text/css">
<!--
.Stil1 {
	font-size: x-small;
	font-family: Tahoma;
	color: #CCCCCC;
}
.Stil2 {font-size: 10px}
-->
</style>
</head>
marioaldag
Mitglied
Beiträge: 9
Registriert: 15.03.2007 15:31

Beitrag von marioaldag »

ich habe das soweit zum laufen gebracht, vielen dank. Habe da aber noch die frage, wo das checklogin() herkommt. Habe die Include datei nicht gefunden. Wollte jetzt nämlich die Funktion und die abarbeitung als extra php datei machen und dann nur noch die $forumlogin an der richtigen stelle ausgeben wollen. Nur checklogin() gibt ja auch $forumlogin aus...

edit1: Problem gelöst

edit2:

Nun habe ich in der session.php verhindert, dass er den header nochmal sendet, mal sehn ob das geht. Allerdings gibt er mir jetzt immer ganz oben das hier aus:

Code: Alles auswählen

session_begin(); $auth->acl($user->data); $user->setup(); ?>

edit3:

Habe das alles zum laufen bekommen. Nun loggt sich der user auf der homepage ein, kriegt auch die anmeldebestätigung "du wurdest erfolgreich eingeloggt" , wird zur start seide weitergeleitung und ist dann wieder ausgeloggt.

Woran kann das liegen?
-=[LCW]=-ExXtReMe
Mitglied
Beiträge: 18
Registriert: 08.10.2007 21:00

Beitrag von -=[LCW]=-ExXtReMe »

Hallo erstm laich bin neu hier. ;)

Nutze seit kurzem auch phpBB 3.0 RC5 und möchte den Forenaccount gleichzeitig auf meiner Homepage nutzen für einige Dinge. Dazu hätte ich natürlich auf gerne die Möglichkeit mich auf meiner Seite direkt einzuloggen. Ich hab das ganze schon so wie hier beschrieben gemacht, funktioniert auch, allerdings lande ich nach einem Login von der Webseite aus danach im Forum. Genau das gleiche bei einem Logout von der Webseite aus.

Hat jemand noch ne geniale Idee? Wäre supi. ;)
sowiso
Mitglied
Beiträge: 23
Registriert: 20.10.2007 17:18
Kontaktdaten:

Beitrag von sowiso »

Kann man auch beim Logout danach auf eine gewählte Seite weitergeleitet werden?

Mit dem vorgegeben geht´s ja nicht :

Code: Alles auswählen

<a href="'.append_sid("{$phpbb_root_path}ucp.php").'?mode=logout&sid='.$user->data['session_id'].'" class="logout">&nbsp;&nbsp;Logout&nbsp;&nbsp;</a>
someone86
Mitglied
Beiträge: 2
Registriert: 27.05.2008 12:43

Beitrag von someone86 »

Kewwwin hat geschrieben:index.php ein Verzeichnis außerhalb des Forums:

Anfangscode zur Ermittlung der Variablen:

Code: Alles auswählen

// (C) Kewwwin.de
// Autor: Sandy Möller & Kevin Domani, 2007

session_start();

//define('IN_PHPBB', true);
//$phpbb_root_path = './forum/';
//$phpEx = 'php';
//include($phpbb_root_path . 'common.' . $phpEx);
//include($phpbb_root_path . 'includes/functions_display.' . $phpEx);


//Session auslesen und Benutzer-Informationen laden
//$user->session_begin();
//$auth->acl($user->data);

include_once('inc/#config.inc.php');
include_once('inc/#db.inc.php');

$header_refresh = "";

$mysql_connection = sqlconnect($config['dbhost'], $config['dbuser'], $config['dbpass']);
unset($config['dbpass']);
Weiterer Code an gewünscht Stelle:

Code: Alles auswählen

// Forum Login-Form
$forum_loginform = "";
if (checklogin()) {
	$sql_user = "SELECT username, group_id FROM ".USERS_T." WHERE user_id = '".$c_u."'";
	$sql_user = mysql_db_query($config['dbname_db1'], $sql_user, $mysql_connection) or (die (mysql_error()));
	$sql_user = mysql_fetch_array($sql_user);
	
	if (in_array($sql_user['group_id'], $config['admin_login_show'])) {
		$adminbereich = ' | <a href="admin">Admin-Bereich</a>';
	} else {
		$adminbereich = '';
	}
	
	$forum_loginform .= '<center><font size=4>Eingeloggt als<br /><strong>'.$sql_user['username'].'</strong></font><p><a href="forum/ucp.php?mode=logout&sid='.$c_sid.'">Abmelden</a>'.$adminbereich.'</center></p>';
	
	
} else {
	$forum_loginform .= '<form action="forum/ucp.php?mode=login" method="post" target="_top"> Username: <input type="text" class="login" name="username" size="15" maxlength="40" value="" /><br> Passwort: <input type="password" class="login" name="password" size="15" maxlength="32" /><br> Auto-Login: <input type="checkbox" name="autologin" /> <input type="hidden" name="redirect" value="../index.php?view='.$_GET['view'].'" /> <input type="submit" class="login_button" name="login" value="Anmelden" class="button1" /> <p><a href="forum/ucp.php?mode=register"><img src="forum/styles/prosilver/theme/images/icon_register.gif"> Registrieren</a>
</form>';
}
Die #config.inc.php:

Code: Alles auswählen

<?php



// DB-Konfiguration

$config['dbuser'] = "user";

$config['dbpass'] = "pwd";

$config['dbhost'] = "localhost";

$config['dbname_db1'] = "name";


// Forum

$config['prfx_forum'] = "phpbb_"; // Tabellenpräfix Forum

$config['cookiename_forum'] = "phpbb3_sw8xl_"; // Cookiename Forum
Die #db.inc.php:

Code: Alles auswählen

<?php



// (C) Kewwwin.de

// Autor: Kevin Domani und Sandy Möller, 2007



$c_sid = $_COOKIE[$config['cookiename_forum'].'sid'];

$c_u = $_COOKIE[$config['cookiename_forum'].'u'];



define(USERS_T, $config['prfx_forum']."users");

define(SESSIONS_T, $config['prfx_forum']."sessions");

define(POST_T, $config['prfx_forum']."posts");

define(TOPIC_T, $config['prfx_forum']."topics");



function sqlconnect($dbhost, $dbuser, $dbpass) {

	$mysql_connection = @mysql_connect($dbhost, $dbuser, $dbpass);

	if (!$mysql_connection) {

		echo "Es konnte leider keine Verbindung zur Datenbank hergestellt werden, bitte versuch es später noch einmal!\n";

		exit;

	}

	

	return $mysql_connection;

}



function sqldisconnect($mysql_connection) {

	mysql_close($mysql_connection);

}



?>
Hier mal etwas zusammengefasst. Ein paar Teile sind noch unnötig waren aber für unsere Verhältnisse notwendig. Ich hoffe ich konnte helfen =)

Gruß
Ich würde gerne diesen Code benutzen, da ich das mit dem Admin Link auf der externen Seite recht gut finde. Da müsste man ja auch einen Link der nur bei Gruppe XY erscheint einbauen können, oder?
Leider funktioniert das ganze bei mir irgendwie nicht.
Kennt jemand einen ähnlichen Code?

Danke schonmal!
Mean
Mitglied
Beiträge: 115
Registriert: 13.03.2008 19:41

Beitrag von Mean »

niffi hat geschrieben:Keine Ahnung was ihr daoben mit dem Script macht, aber den ganzen Russ kannst Du Dir im Grunde auch sparen, denn wenn Du nur Deinen Login auf eine Extra-Seite packen willst, reicht folgender Code völlig zu:

Code: Alles auswählen

if ($user->data['user_id'] == ANONYMOUS)
    {
		echo '<table width="140" border="0" cellspacing="3" cellpadding="3" bgcolor="#EAEAEA">
			<form action="forum/ucp.php" method="post" target="_top">
			<input type="hidden" name="mode" value="login" />
			<input type="hidden" name="autologin" value="1" />
				<tr>
					<td align="left" valign="top"><span class="small">Benutzername:</span><br>
				  <input type="text" name="username" size="23" class="inputbox" maxlength="55" value="" /></td>
				</tr>
				<tr>
					<td align="left" valign="top"><span class="small">Passwort:</span><br>
				  <input type="password" name="password" size="23" class="inputbox" maxlength="55" value="" /></td>
				</tr>
				<tr>
					<td align="center"><input type="hidden" name="redirect" value="../main.php" /><input type="submit" name="login" class="logout" value="Login" /></td>
				</tr>
				<tr>
					<td align="center" height="16" valign="middle"><a href="forum/ucp.php?mode=register" class="link_small">Jetzt registrieren!</a></td>
				</tr>
			</form>				
			</table>';

	}	
	else	{

		echo '<table width="140" border="0" cellspacing="3" cellpadding="0" bgcolor="#EAEAEA">
				<tr>
					<td align="center" valign="top"><span class="small">Du bist derzeit<br />eingeloggt.<br /><br /></span></td>
				</tr>
				<tr>
					<td align="center"><a href="'.append_sid("{$phpbb_root_path}ucp.php").'?mode=logout&sid='.$user->data['session_id'].'" class="logout">&nbsp;&nbsp;Logout&nbsp;&nbsp;</a></td>
				</tr>
			</table>';
	}
Hey Niffi,

super skript! Funktioniert so weit alles super. Problem ist im Moment nur, wenn ich eingeloggt bin und ins Forum weitergeleitet werde (von der ucp.php), dann werde ich auf domain.de/main.php weitergeleitet. K.A., warum das so ist bzw. wo das steht (müßte ja in der ucp.php stehen, aber ich finde da nichts); statt auf die main.php würde ich gerne auf die newspage.php umleiten lassen...

Kann mir da jemand behilflich sein?

Vielen Dank und Grüße,

Dirk
Antworten

Zurück zu „[3.0.x] Administration, Benutzung und Betrieb“