Recordad que para pedir soporte alguno, debéis facilitar los datos de soporte oportunos por favor, mirad aquí y leer las Normas generales del foro, esto nos servirá de ayuda para dar el mejor soporte..

Gracias.

La Administración de phpBB España.

Logueo EXTERNO (desde otro servidor) a mi phpBB

Foros donde podréis dejar vuestras dudas sobre phpBB 3.0.x
Cerrado

0
No hay votos
 
Votos totales: 0

Dainasor
Observador/a
Mensajes: 6
Registrado: 26 Nov 2009, 04:01

Logueo EXTERNO (desde otro servidor) a mi phpBB

#1

Mensaje por Dainasor »

Buenas, tengo un foro phpBB3 y me anda todo perfecto. Cada problema que tuve lo busque aca o en google y lo pude solucionar.
Lo unico que no pude conseguir es que se pueda loguear a mi foro desde otra pagina web.

La idea es poner en mi otra pagina web (ajena al foro y ajena al servidor) una caja de logueo y que el usuario pueda iniciar sesion y que al hacerlo, se muestren los datos del mismo. Hasta ahora estuve probando y probando, y no me salio. Trate de usar el MOD API y no me funciono. Trate de crear un API yo mismo usando CURL y tampoco me funciono.

Aca dejo el codigo del API que cree yo:

api/user.php:

Código: Seleccionar todo

<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : '../';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);

function permiso($cod) {
	if($cod=="1234") {
		$p=true;
	}
	else {
		$p=false;
	}
	return $p;
}

$user_api = new user();
$auth_api = new auth();

$user_api->session_begin();
$auth_api->acl($user_api->data);
$user->setup();

header("Content-type: text/xml\n\n");
echo "<?xml version='1.0'?>";
echo "<respuesta estado=\"ok\">";
echo "<is_log>" . (($user_api->data['is_registered']) ? "si" : "no") . "</is_log>";
echo "<id_user>" . $user_api->data['user_id'] . "</id_user>";
echo "<nombre_user>" . $user_api->data['username'] . "</nombre_user>";
echo "<id_user_c>" . $_COOKIE['phpbb3_pbfvj_u'] . "</id_user_c>";
echo "</respuesta>";
?>
Este es el codigo de consulta que pongo en mi otra pagina web para acceder al foro:

Código: Seleccionar todo

<?php
// definimos nuestras variables POST
$post_vals = array(
    'api_key' => '1234',
);
 
foreach($post_vals as $key => $value) {
    $peticion .= $key.'='.urlencode($value).'&';
}
 
$peticion = rtrim($peticion, '&');
 
$ch = curl_init('http://localhost/foro/api/user.php');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_POSTFIELDS, $peticion);
$respuesta = curl_exec($ch);
curl_close ($ch);

echo $respuesta."</br>";

$xml = simplexml_load_string($respuesta);

$api_is_log = $xml->is_log;	
$api_username = $xml->nombre_user;
$api_user_id = $xml->id_user;
$api_id_c = $xml->id_user_c;
?>
Basicamente lo que hace esto es conectar por CURL y mostrar los datos en XML: pero cuando hago la consulta, aunque este conectado al foro,
me muestra los datas de anonimo, como si no estuviera conectado.

Alguien sabe como solucionarlo?
A alguien se le ocurre una mejor idea?
Alguien pudo hacer esto con su foro?

Les agradezco desde ya.

Acá los datos del foro:
URL: http://www.panaforum.com.ar
Versión phpBB: phpBB3 (3.0.6)
MODs Instalados: Flags, Portal
Plantilla(s) usada(s): Propia (Basada en Prosilver_SE)
Servidor: Linux, de pago
Actualización desde otra versión: NO
Conversión desde otro sistema de foros: NO

Saludos y gracias!

Cerrado

Volver a “Foros de Soporte 3.0.x”