Archief - MySql & Php : phpBB & e107 logins

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

VinDiGaTor

Legacy Member
We hebbe is een siteke ineensgestoke waar weliswaar nog veel werk aan is, alleen hebbe we nu een forum phpBB (Powered by phpBB 2.0.10 © 2001 phpBB Group) en de website zelf is e107.
Is er een manier, of iemand die er iets v weet om de logins v phpBB gelijk te laten lopen met die van het forum??

DarkBone

Legacy Member
Voor uw eigen login systeem gebruik maken van de tabellen van phpBB natuurlijk.

killgore

Legacy Member
dit gebruik ik (pas op:p, zelf geschreven en niet echt denderend subliem, maar kan er mee door):

config.php (haalt userdata op en zo):
PHP:
$phpbb_root_path = 'phpBB2/';  //Path naar forum (t.o.v. de root directory!). ZONDER DOMEINNAAM! (dus bv. ../forum ipv http://www.gamedesign.be/forum
//Login informatie ophalen!
if(!defined('IN_PHPBB'))
{
	define('IN_PHPBB', true);
}
require($phpbb_root_path . 'extension.inc');
require($phpbb_root_path . 'common.'.$phpEx);
$sessiondata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($sessiondata);

je moet dan maar is de data van sessiondata echoen
PHP:
echo "<pre>".print_r($sessiondata,true)."</pre>");
om te weten wat er in zit

login script:
form:
Code:
<form action="login.php" method="post">
<table width=700 cellspacing=0 cellpadding=0 border=0>
    <tr >
	    <td >
			<table width=680 align=center cellpadding=0 cellspacing=0>
				<tr><td colspan="2" bgcolor="#52626C"><font class=font_menu_title>Log In -- Use your forum account's information!</font></td></tr>
				<tr bgcolor="#647682">
					<td><font class=font_menu_title>Username</font><br /></td>
					<td><input type="text" size="50" name="username"></td>
				</tr>
				<tr bgcolor="#647682">
					<td><font class=font_menu_title>Password</font></td>
					<td><input type="password" size="50" name="password"></td>
				</tr>
				<tr bgcolor="#647682">
				  <td colspan="2" align="center"><input type="checkbox" name="autologin"><font class=font_menu_title> Automatic log-in at this site</font></td>
				</tr>
				<tr bgcolor="#647682">
					<td colspan="2" align="center">
						<input type="hidden" name="action" value="login">
						<input type="hidden" name="redirect" value="<?= $_SERVER['HTTP_REFERRER'] ?>">
						<input type="submit" value="Log in" name="login">
					</td>
				</tr>
			</table>
	    </td>
	</tr>
</table>
</form>

code:
PHP:
if( isset($HTTP_POST_VARS['login']) && !$sessiondata['session_logged_in'] )
{
	$username = isset($_POST['username']) ? trim(htmlspecialchars($_POST['username'])) : '';
	$username = substr(str_replace("\'", "'", $username), 0, 25);
	$password = isset($_POST['password']) ? $_POST['password'] : '';
	$sql = "SELECT user_id, username, user_password, user_active, user_level
			FROM " . USERS_TABLE . "
			WHERE username = '" . str_replace("\'", "''", $username) . "'";
	if ( !($result = $db->sql_query($sql)) )
	{
		$error = 'Error when obtaining user data!';
	}
	elseif( $row = $db->sql_fetchrow($result) )
	{
		if( md5($password) == $row['user_password'] && $row['user_active'] )
		{
			$autologin = ( isset($_POST['autologin']) ) ? TRUE : 0;

			$session_id = session_begin($row['user_id'], $user_ip, PAGE_INDEX, FALSE, $autologin);
			if( $session_id )
			{
				$redirect = ( isset($_POST['redirect']) ) ? $_POST['redirect'] : "index.php";
				echo 'Logged in succesfully.';
				header("Location: ".$root.$redirect);
				exit;
			}
			else
			{
				$error = 'Couldn\'t start the session, please try again!';
			}
		}
		else
		{
			$error = 'Wrong password!';
		}
	}
	else
	{
		$error = 'Error: already logged in or user doesn\'t exists!';
	}
}
note: hiervoor heb je die config code bovenaan OOK nodig ;)

niet denderend gecoded (dingen als <?= )maar moet er voor kunnen doorgaan.

registeren -> doe via register page van je phpbb, zal VEEL simpeler gaan ;).
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan