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ítulo</title>
</head>
<body>
<?php include("registro.php"); ?>
</body>
</html>
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);
?>
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í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ñ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>