Página 1 de 1
[AYUDA] Integrar el foro phpbb2 a mi pagina
Publicado: 01 Jul 2005, 23:05
por dkodisea
Hola..
primera vez que entro en su pagina, porque ando buscando informacion y creo que quizas ustedes puedan ayudarme..
Resulta que estoy haciendo una pagina en php (algo basico, no muy sofisticado) y me gustaria poder integrar un foro phpbb2 para poder hacer upload de archivos via attachment y esos archivos ubicarlos en otro server.
Hoy estuve probando y buen, logre hacer que la pagina de registro mia, tomara los datos de la db y pudiera ingresar datos.. Pero tengo dos graves problemas..
El primero es que al tratar de logearme por mi pagina, todo bien, se loguea y todo, pero al entrar al foro, no me logea y no se como hacer pa que tome los datos del logeo anterior, estoy trabajando con cookies y sessiones..
El segundo problema es que al registrar, el phpbb2 colocaa un user_id el cual va subiendo, y yo no pude (ignorancia mia) hacer que la consulta via mysql pudiera rescatar el ultimo valor ingresado y le sumara +1 para poder realizar el otro registro.
Si fuera posible, ayudenme para poder solucionar este problema.
Ahh, me acorde de otra cosa mas, como phpbb2 usa md5 en la encriptacion del password, cuando mi registro ingresa datos a la db y despues trato de registrarme con esos datos en el foro, me dice que los datos son incorrectos y eso es debido a que lee la "encriptacion" hay alguna forma para poder "saltarse" eso?
de antemano..
muchas gracias!!
Re: [AYUDA] Integrar el foro phpbb2 a mi pagina
Publicado: 16 Jul 2005, 08:37
por Charlie Design
Hola, veo que aun nadie te responde y tengo la misma duda... Quiero integrar el foro a mi sitio web pero para esto aun no se como loggear al usuario desde mi pagina consultando la base de datos del foro... te agradecerí?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Âa muchisimo que si has encontrado respuesta a lo que buscabas me ayudes un poquitin a aclarar mi duda, vale?... de antemano muchas gracias.
Re: [AYUDA] Integrar el foro phpbb2 a mi pagina
Publicado: 16 Jul 2005, 19:41
por DarthVe
Hola a tod@s
Los dos primeros codigos ponlo como dice.
Este codigo se pone antes del <html>
Este codido se pone despues del </html>
Esto es para que no te de este error
Warning: Cannot modify header information - headers already sent by (output started at d:\appserv\www\darthpc\index.php:7 in d:\appserv\www\darthpc\foro\includes\sessions.php on line 206
Warning: Cannot modify header information - headers already sent by (output started at d:\appserv\www\darthpc\index.php:7 in d:\appserv\www\darthpc\foro\includes\sessions.php on line 207
Ahora para unir la pagina al foro phpbb (estando el foto en otra carpeta Ej: ./foro/
Este codigo lo pones despues de <? ob_start(); ?>
Código: Seleccionar todo
<?
$volver="../index.php";
define('IN_PHPBB', true);
$directorio_foro="./foro";
$phpbb_root_path = (dirname($_SERVER['PHP_SELF'])=="/$directorio_foro") ? './' : "$directorio_foro/"; //PATH DEL FORO RESPECTO DEL SCRIPT
if (!function_exists("init_userprefs"))
{
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
global $db, $board_config;
global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID;
$cookiename = $board_config['cookie_name'];
$cookiepath = $board_config['cookie_path'];
$cookiedomain = $board_config['cookie_domain'];
$cookiesecure = $board_config['cookie_secure'];
}
// determinamos si cookie activada sino propagamos sid por url
if ( !(isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) || isset($HTTP_COOKIE_VARS[$cookiename . '_data'])) )
{
output_add_rewrite_var('sid', $userdata['session_id']);
}
?>
Re: [AYUDA] Integrar el foro phpbb2 a mi pagina
Publicado: 16 Jul 2005, 19:42
por DarthVe
Esto es para que se longue el usuario desde la pagina
Este codigo lo pones en donde tu quieras que te aparesca en tu web
Código: Seleccionar todo
= ".( time() - 300 ) . "
$user_forum_sql
ORDER BY u.username ASC, s.session_ip ASC";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain user/online information', '', __LINE__, __FILE__, $sql);
}
$userlist_ary = array();
$userlist_visible = array();
$prev_user_id = 0;
$prev_user_ip = $prev_session_ip = '';
while( $row = $db->sql_fetchrow($result) )
{
// User is logged in and therefor not a guest
if ( $row['session_logged_in'] )
{
// Skip multiple sessions for one user
if ( $row['user_id'] != $prev_user_id )
{
$style_color = '';
if ( $row['user_level'] == ADMIN )
{
$row['username'] = '' . $row['username'] . '';
$style_color = 'style="color:#' . $theme['fontcolor3'] . '"';
}
else if ( $row['user_level'] == MOD )
{
$row['username'] = '' . $row['username'] . '';
$style_color = 'style="color:#' . $theme['fontcolor2'] . '"';
}
if ( $row['user_allow_viewonline'] )
{
$user_online_link = '' . $row['username'] . '';
$logged_visible_online++;
}
else
{
$user_online_link = '' . $row['username'] . '';
$logged_hidden_online++;
}
if ( $row['user_allow_viewonline'] || $userdata['user_level'] == ADMIN )
{
$online_userlist .= ( $online_userlist != '' ) ? (', ' ."" .$user_online_link) : ("" .$user_online_link);
}
}
$prev_user_id = $row['user_id'];
}
else
{
// Skip multiple sessions for one user
if ( $row['session_ip'] != $prev_session_ip )
{
$guests_online++;
}
}
$prev_session_ip = $row['session_ip'];
}
$db->sql_freeresult($result);
if ( empty($online_userlist) )
{
$online_userlist = $lang['None'];
}
$online_userlist = ( ( isset($forum_id) ) ? $lang['Browsing_forum'] : $lang['Registered_users'] ) . ' ' . $online_userlist;
$total_online_users = $logged_visible_online + $logged_hidden_online + $guests_online;
if ( $total_online_users > $board_config['record_online_users'])
{
$board_config['record_online_users'] = $total_online_users;
$board_config['record_online_date'] = time();
$sql = "UPDATE " . CONFIG_TABLE . "
SET config_value = '$total_online_users'
WHERE config_name = 'record_online_users'";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update online user record (nr of users)', '', __LINE__, __FILE__, $sql);
}
$sql = "UPDATE " . CONFIG_TABLE . "
SET config_value = '" . $board_config['record_online_date'] . "'
WHERE config_name = 'record_online_date'";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update online user record (date)', '', __LINE__, __FILE__, $sql);
}
}
if ( $total_online_users == 0 )
{
$l_t_user_s = $lang['Online_users_zero_total'];
}
else if ( $total_online_users == 1 )
{
$l_t_user_s = $lang['Online_user_total'];
}
else
{
$l_t_user_s = $lang['Online_users_total'];
}
if ( $logged_visible_online == 0 )
{
$l_r_user_s = $lang['Reg_users_zero_total'];
}
else if ( $logged_visible_online == 1 )
{
$l_r_user_s = $lang['Reg_user_total'];
}
else
{
$l_r_user_s = $lang['Reg_users_total'];
}
if ( $logged_hidden_online == 0 )
{
$l_h_user_s = $lang['Hidden_users_zero_total'];
}
else if ( $logged_hidden_online == 1 )
{
$l_h_user_s = $lang['Hidden_user_total'];
}
else
{
$l_h_user_s = $lang['Hidden_users_total'];
}
if ( $guests_online == 0 )
{
$l_g_user_s = $lang['Guest_users_zero_total'];
}
else if ( $guests_online == 1 )
{
$l_g_user_s = $lang['Guest_user_total'];
}
else
{
$l_g_user_s = $lang['Guest_users_total'];
}
$l_online_users = sprintf($l_t_user_s, $total_online_users);
$l_online_users .= sprintf($l_r_user_s, $logged_visible_online);
$l_online_users .= sprintf($l_h_user_s, $logged_hidden_online);
$l_online_users .= sprintf($l_g_user_s, $guests_online);
//determinamos si usuario logueado para mostrar en link login o logout
$log_in_out=( $userdata['session_logged_in'] ) ? ('LOGOUT ['.$userdata['username'].']') : ('LOGIN');
// si usuario logueado mostramos su avatar
if ($userdata['user_id']!=-1)
{
switch ($userdata['user_avatar_type'])
{
case 0 : $ruta_de_avatar = '' ;break;
case 1 : $ruta_de_avatar = "";break;
case 2 : $ruta_de_avatar = "";break;
case 3 : $ruta_de_avatar = "";break;
}
$log_in_out .= "" . $ruta_de_avatar . "
" . $userdata['username'] . "";
}
else {
$log_in_out .="Usuario aní?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?³nimo";
}
?>
login.php" method="post">
?sid=">
Usuario:
Contraseí?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?±a:
Entrar automí?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?¡ticamente en cada visita
profile.php?mode=register">Registrarse
" . TRUE . "
ORDER BY g.group_name, ug.user_id");
$cont=1;
while($row=mysql_fetch_array($sql))
$grupos.=" ".$row['group_name'].",";
if (mysql_num_rows($sql)>0) print "perteneces a los siguientes grupos: ". $grupos;
if ( $userdata['user_new_privmsg'] )
{
$l_message_new = ( $userdata['user_new_privmsg'] == 1 ) ? $lang['New_pm'] : $lang['New_pms'];
$l_privmsgs_text = sprintf($l_message_new, $userdata['user_new_privmsg']);
}
else
{
$l_privmsgs_text = $lang['No_new_pm'];
}
?>
profile.php?mode=editprofile" >Perfil !!
privmsg.php?folder=inbox"> !!
index.php">foro
Re: [AYUDA] Integrar el foro phpbb2 a mi pagina
Publicado: 16 Jul 2005, 19:43
por DarthVe
Bueno, para que funcione correctamente, que depiendo de alguna que otra cosilla te puede dar algí?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?ºn error, hay que configurar lo siguiente en las primeras lí?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Âneas del cí?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?³digo:
En la lí?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Ânea:
Tienes que poner la ruta a la que se redireccionarí?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?¡ una vez que phpBB haya realizado el logueo. Esto es un poco chungo de explicar, el logueo no lo hace el script, lo que sucede es que redirecciona al script del foro que se encarga de loguear a los usuarios, o sea el login.php, y le pasarí?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?¡ ví?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Âa url una variable de nombre redirect y de volver la direccií?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?³n a la que volverí?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?¡ despuí?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?©s de realizar el logueo. Bueno tampoco es muy importante si no lo entendiste, pero lo que si que tienes que poner es el nombre del script dí?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?³nde pusiste í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?©ste cí?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?³digo (los dos puntos significan directorio padre o un directorio hacia arriba). Por eso como mi script esta un directorio por 'arriba' del foro y se llama index.php puí?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?©s puse eso.
En la lí?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Ânea:
O sea lo primerito de todo, del script anterior y configurando las variables mencionadas. Te recuerdo que en el script de antes no harí?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Âa falta volver a poner este codigo ya que sino darí?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Âa error de funciones ya definidas.
Bueno y una vez que hayas encabezado el script con ese cí?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?³digo de lo que se trata es de averiguar a traví?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?©s de las variables de sesií?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?³n phpBB si el usuario estí?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?¡ o no registrado. Para ello te bastarí?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Âa con un simple if
Código: Seleccionar todo
if ($userdata['user_id']!=-1) // o sea si estí?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?¡ registrado el usuario
{
//
// partes del cí?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?³digo que se verí?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Âan
//
}
Espero que les sirva y funcione
Re: [AYUDA] Integrar el foro phpbb2 a mi pagina
Publicado: 17 Jul 2005, 05:10
por Charlie Design
DarthVe... muchisimas gracias, ha servido de maravilla. Aunque existe un pequeí?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?±o detalle, al desplegar el LOGIN cuando un usuario no esta registrado, simplemente muestra la cadena LOGIN y no el hipervinculo. el cí?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?³digo va asi...
Código: Seleccionar todo
$log_in_out=( $userdata['session_logged_in'] ) ? ('LOGOUT ['.$userdata['username'].']') : ('LOGIN');
La forma de solucionar esto y hacer que la palabra LOGIN nos lleve a la pí?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?¡gina de foro para Ingresar el usuario y de regreso a nuestra pagina principal serí?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Âa...
Código: Seleccionar todo
$log_in_out=( $userdata['session_logged_in'] ) ? ('LOGOUT ['.$userdata['username'].']')
: ('LOGIN');
Claro que esto es solamente si prefieres ir a la pagina de Login del foro y regresar al sitio original ( recuerda que la direccií?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?³n del sitio original esta contenida en la variable $volver). si no desean accesar de esta forma solo borren a partir de los dos puntos para que solo si el usuario ha ingresado correctamente muestre el mensaje de Logout pero no el de login
Por cierto, me surgií?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?³ una duda... vi dentro del codigo como se calcula cuantos usuarios hay actualmente conectados... pero... no se imprime por ningun lado... que variable hay que imprimir para que salga esta informacion ?
De antemano... muchas gracias
Re: [AYUDA] Integrar el foro phpbb2 a mi pagina
Publicado: 17 Jul 2005, 06:46
por Charlie Design
Hey sorry pero en el mensaje de arriba hay un pequeí?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?±o malentendido... no se debe borrar todo despuí?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?©s de los dos puntos ( : ) para que no salga la palabra Login si es que el usuario no esta loggeado, sino que hay que llenar con una cadena vací?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Âa donde antes estaba el LOGIN... esto es porque debido a la asignacií?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?³n tipo:
$variable= (condicion) ? (sentencia si se cumple la condicion): (sentencia si no se cumple) ;
Esta asignacií?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?³n requiere una opcií?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?³n por tanto si se cumple como si no cumple la condicií?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?³n (no como el "if", que si no cumple la condicií?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?³n no hay problema solo no ejecuta las sentencias). por lo tanto el cí?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?³digo si no quieren que salga la palabra LOGIN es este:
Código: Seleccionar todo
$log_in_out=( $userdata['session_logged_in'] ) ? ('LOGOUT ['.$userdata['username'].']'):('');
Pueden observar como en la segunda opcií?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?³n simplemente le asignamos una cadena vací?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Â?í?Âa y listo... adios palabra Login

Re: [AYUDA] Integrar el foro phpbb2 a mi pagina
Publicado: 25 Jul 2005, 02:36
por DarthVe
En verdad no se. y gracias por la modificacion
Lo que estoy tratando de ponerle es que me muestre el rank que el usuario tiene, lo hice una vez pero ahora no me acuerdo