Página 1 de 1

Problema Al Registrarse

Publicado: 05 Dic 2006, 21:07
por gosti
datos de soporte: url.- http://www.warant-foro.es
plantilla greenpard
version 2.0.19 actualizada a la 21
servidor de pago dhapcenter


hola a todos y gracias.
Primero decir que estoy bastante pez en el tema, por lo que agradecería respuestas lo más claras posibles.
En mi foro me estaban axfixiando los bots por lo que tomé la decisión de confirmar la activación a los usuarios nuevos mediante email ellos mismos, igual q en este foro.
Antes, los usuarios al registrarse en el modo libre les daba este error, pero aparecían como resgistrados y podían escribir mensajes, etc, el error era el siguiente
Could not insert data into groups table

DEBUG MODE

SQL Error : 1062 Duplicate entry '0' for key 1

INSERT INTO phpbb_groups (group_name, group_description, group_single_user, group_moderator) VALUES ('', 'Personal User', 1, 0)

Line : 644
File : usercp_register.PHP
ahora, al poner la confirmación por el usuario o por el administrador la persona que se registra cuando envia todos los datos le sale una web en blanco, no aparecen como registrados y apor consiguiente no pueden escribir mensajes ni logearse, tampoco lesllega ninigún mensaje de confirmación a su email.
Espero q me podais ayudar, os agradezco a todos este foro.
un saludo

Respuesta: Problema Al Registrarse

Publicado: 05 Dic 2006, 22:54
por HuanManwe
Acabo de responderte en tomatoma.ws :lol: Y mira dónde encuentro el mismo mensaje. Bueno, pues como dije allí, creo que el problema es que debes restaurar la variable group_name con el parche que te indiqué. Supongo que funcionará.
Batusai escribió:Según he leído ese problema a veces ocurre cuando se ha actualizado desde una versión bastante o muy antigua. Se soluciona así:

Crea un fichero con el WordPad o el Bloc de Notas que se llame, por ejemplo, parche.php y dentro copia y pega este código:

Código: Seleccionar todo

<?php
//*****  check users and user groups ****//

define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . 'includes/functions_search.'.$phpEx);

// Start session management
$userdata = session_pagestart($user_ip, PAGE_SEARCH);
init_userprefs($userdata);
// End session management

$sql = "SELECT user_id, username
    FROM " . USERS_TABLE ."
    WHERE user_id > 0";
if ( !($result = $db->sql_query($sql)) )
{
    message_die(GENERAL_ERROR, 'Could not obtain user list', '', __LINE__, __FILE__, $sql);
}

$liste ='';
while ( $row = $db->sql_fetchrow($result) )
{
   $username = $row['username'];
   $user_id = $row['user_id'];
   $usergroup = '';
   
   $sql1 = "SELECT ug.group_id
          FROM " . USER_GROUP_TABLE ." ug, ". GROUPS_TABLE. " g
          WHERE ug.user_id = $user_id
            AND ug.group_id = g.group_id
            AND g.group_single_user  = 1
            ";
             
   if ( ($result1 = $db->sql_query($sql1)) )
   {
       $row1 = $db->sql_fetchrow($result1);
          $usergroup =( ( $row1['group_id'] != '' ) ? $row1['group_id'] : 'User has no user group'.$row1 );
         
   }

          if (!($row1['group_id'] != ''))
          {
             
         $sql2 = "SELECT MAX(group_id) AS total
            FROM " . GROUPS_TABLE;
         if ( !($result2 = $db->sql_query($sql2)) )
         {
            message_die(GENERAL_ERROR, 'Could not obtain next group_id information', '', __LINE__, __FILE__, $sq2l);
         }

         if ( !($row2 = $db->sql_fetchrow($result2)) )
         {
            message_die(GENERAL_ERROR, 'Could not obtain next group_id information', '', __LINE__, __FILE__, $sql2);
         }
         $group_id = $row2['total'] + 1;
         
         
         $sql3 = "INSERT INTO " . GROUPS_TABLE . " (group_id, group_name, group_description, group_single_user, group_moderator)
            VALUES ($group_id, '', 'Personal User', 1, 0)";
         if ( !($result3 = $db->sql_query($sql3, BEGIN_TRANSACTION)) )
         {
            message_die(GENERAL_ERROR, 'Could not insert data into groups table', '', __LINE__, __FILE__, $sql3);
         }

         $sql4 = "INSERT INTO " . USER_GROUP_TABLE . " (user_id, group_id, user_pending)
            VALUES ($user_id, $group_id, 0)";
         if( !($result4 = $db->sql_query($sql4, END_TRANSACTION)) )
         {
            message_die(GENERAL_ERROR, 'Could not insert data into user_group table', '', __LINE__, __FILE__, $sql4);
         }

             
             $usergroup = $usergroup.', adding user group '.$group_id;
          }


   $liste .= ( ( $liste != '' ) ? '<br> ' : '' ) . $username.' <b>'.$usergroup.'</b>';
}

message_die(GENERAL_MESSAGE,'Users:<br>'.$liste);

?>
Sube el archivo a la carpeta principal de tu foro y ve a esa dirección con tu navegador (por ejemplo el Explorer, yendo a http://www.tuweb.com/tuforo/parche.php ) y ejecuta ese parcheado.

En teoría ya se debe ver todo bien.

No olvides eliminar el fichero parche.php una vez lo hayas aplicado con éxito.

INFO: Éste parche lo he encontrado en este mensaje del foro oficial.[/quoteicy]

Saludos.

Re: Respuesta: Problema Al Registrarse

Publicado: 05 Dic 2006, 23:09
por gosti
vale, gracias por la respuesta, ya he puesto la contestación en el foro de toma toma, sigue sin funcionarme.
un saludo

Respuesta: Problema Al Registrarse

Publicado: 28 Abr 2007, 01:03
por dann
En phpbb_groups habilita auto_increment a la tabla group_id.