Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/06/2010, 01:30
moz90
 
Fecha de Ingreso: mayo-2009
Mensajes: 94
Antigüedad: 14 años, 11 meses
Puntos: 0
Registro Externo para Foro PHPB3

hola amigos espero me puedan ayudar necesito crear un formulario externo en una pagina web para para que los usuarios se registren en el foro PHPBB3, estuve viendo un tutorial pero nose como hacerlo, si alguien me puede ayudar.

Aca dejo el link : http://www.todotutorialesweb.com/agr...o-para-phpbb3/

este es el codigo que estuve tratando de adaptar, diganme por favor que pasos debo seguir para hacer funcionar este registro externo.

Los Archivos son:

Archivo: index2.php

Código PHP:
<?php include("sesiones2.php"); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<?php include("registro.php"); ?>
</body>
</html>
Archivo: sesiones2.php

Código PHP:
<?php 
// Iniciamos la constante IN_PHPBB
define('IN_PHPBB'true);
// Indicamos la carpeta donde se encuentra nuestro phpBB3
$phpbb_root_path '../phpbb3/';
// Extension de los ficheros a cargar
$phpEx substr(strrchr(__FILE__'.'), 1);
// Cargamos fichero common.php
require_once($phpbb_root_path 'common.' $phpEx);
// Cargamos fichero functions_user.php (éste es el que contiene
// las funciones para añadir usuarios)
require_once($phpbb_root_path 'includes/functions_user.' $phpEx);
// Definimos la diferencia horaria con el servidor (explicado más adelante)
define ("UTC",1);

?>
Archivo: registro.php
Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<?php 
// Variables recogidas del formulario
$nick = $_POST['nombre_de_usuario'];
$email = $_POST['email'];
$pass = $_POST['contrasenya'];
$error = false;
// Comprobamos si el nombre de usuario existe
if (validate_username($nick)){
	echo "El nombre de usuario especificado ya existe";
	$error = true;
}
// Comprovamos el e-mail
if (validate_email($email)){
	switch(validate_email($email)){
		case DOMAIN_NO_MX_RECORD:
			echo "El dominio de la cuenta e-mail especificada no existe<br />";
			break;
		case EMAIL_TAKEN:
			echo "Existe un usuario registrado con el mismo e-mail<br />";
			break;
		case EMAIL_INVALID:
			echo "El e-mail especificado no es válido<br />";
			break;
	}
	$error = true;
}
// En caso de error ejecutamos el código que queramos
if ($error){
	// En mi caso vuelvo a mostrar el formulario de registro
	$form->display();
	// y finalizo la ejecución
	exit;
}

// Encriptamos la contraseña
$hash = phpbb_hash($pass);
// Generamos un código de activación para la cuenta
$actkey = substr(md5(time()), 0, 13);
// Añadimos los datos de usuario en una tabla
$dades_forum = array("username"=>$nick, // Nombre de usuario
				 "user_password"=>$hash, // Contraseña encriptada
				 "group_id"=>5, // Grupo al que pertenece
				 "user_email"=>$email,
				 "user_type"=>1, //** Tipo de usuario
				 "user_actkey"=>$actkey, //** Clave de activación de cuenta
				 "user_lang"=>"ca", // Idioma (catalán en este caso)
				 "user_timezone"=>$utc, // Diferencia horaria del cliente
				 "user_inactive_reason"=>1, // Motivo por el cual su cuenta está inactiva
				 "user_inactive_time"=>time()-UTC*3600, //** Hora en que se "inactiva" su cuenta
				 "user_regdate"=>time()-UTC*3600); // Hora de registro (menos la diferencia horaria con el servidor)
// Añadimos el usuario
if (!$user_id = user_add($dades_forum))
  die("Error inesperado al registrarte");
echo "Usuario registrado correctamente! Tu ID de usuario es " . $user_id . " y tu clave de activación " . $actkey;




?>


<form action="registro.php" target="_top" method="post" enctype="multipart/form-data">
            Usuario:
           <input name="username" type="text" value="" size="10" />
          <br>Contrase&ntilde;a:
 
              <input type="password" name="password" size="10" maxlength="32"  >
             
             <br>Email
 
              <input type="password" name="password" size="10" maxlength="32"  >
               <br>
              <input type="submit" value=" Registrar " name="login"  style="BORDER-RIGHT: 0px; BORDER-TOP: 0px;  BORDER-LEFT: 0px; WIDTH: 60px; BORDER-BOTTOM: 0px">
 
        </form>

</body>
</html>

gracias.

Última edición por moz90; 13/06/2010 a las 09:25 Razón: datos