Fork me on GitHub
Fork me on GitHub
Donar Ahora!
Seleccione una cantidad para donar


¿Quiere que su nombre de usuario sea revelado con su donación?
Si - Listeme como un geneoso donante
No - Liste mi donación como un donante anónimo


Usuario
Bienvenido
Haz click para registrarte. Es gratuito y podrás utilizar todos los recursos de la web

Login

Recuerdame

¿Perdió su contraseña?


Online
Conectados: 30
Miembros: 0
Invitados: 18
Buscadores: 12

Estadísticas
Nuevos miembros: [BillyStilw-25/10/2017] [Teacher194-24/10/2017] [TimmyAngel-18/10/2017] [Leblanc-18/10/2017] [HealthyNut-17/10/2017] [HalliePerk-12/10/2017] [ShadBlais-8/10/2017] [WilburCruc-1/10/2017] [Ulanowski7-25/9/2017] [KaleyKlem-23/9/2017]
Registrados: 30176
Hoy: 0
Ayer: 0

Conectados:
usInvitadoForos
usInvitadoForos
gbInvitado
usInvitadoForos
usInvitadoNoticias
usInvitadoForos
usInvitadoForos
onlineInvitado
usInvitadoForos
usInvitadoForos
gbInvitadoEnlaces
onlineInvitado
gbInvitadoPerfiles extendidos
usInvitadoForos
usInvitadoForos
onlineInvitado
noInvitado
usInvitadoForos
Hacks : Cómo añadir campos al formulario de registro de usuarios
Enviado por sheris el 11/10/2006 7:40:00 (5472 Lecturas)

El presente manual está hecho para Xoops 2.0.13.2 (creo que debe funcionar también hasta la versión xoops 2.0.15) y en él voy a mostrar cómo añadir un campo al formulario de registro. En el ejemplo añadiré un área de texto (text area) con la pregunta '¿Qué relación tienes con el grupo?', con 5 líneas de alto y requerido.

Lo primero que tendríamos que hacer es una copia de seguridad de la tabla xxx_users (sustituir xxx_ por el prefijo de la base de datos) y de los archivos register.php, include/registerform.php y kernel/user.php, con el objeto de restaurar los originales si nos encontramos con algún problema.

Modificación de tabla xxx_users

Se han de añadir las columnas que se deseen incorporar al formulario de registro. En mi caso añado la columna ‘relacion’.

Modificaciones en archivo registerform.php

Está situado en el directorio include. Justo antes de (línea 80 aproximadamente):

if ($xoopsConfigUser['reg_dispdsclmr'] != 
&& $xoopsConfigUser['reg_disclaimer'] != '') {


Añadir la línea:

$reg_form->addElement(new XoopsFormTextarea('¿Qué relación tienes con el grupo?'
"relacion"$myts->htmlSpecialChars($relacion),5), true);


Modificaciones en archivo register.php

Justo antes de (línea 158 aproximadamente):

<input type='hidden' name='user_mailok' value='".$user_mailok."' />


Añadir la línea:

<input type='hidden' name='relacion' value='".$relacion."' />


Y también justo antes de (línea 192 aproximadamente):

$newuser->setVar('user_mailok',$user_mailoktrue);


Añadir la línea:

$newuser->setVar('relacion',$relaciontrue);


Modificaciones en archivo user.php

Está situado en el directorio kernel. Justo después de (línea 103 aproximadamente):

$this->initVar('user_mailok'XOBJ_DTYPE_INT1false);


Añadir la línea:

$this->initVar('relacion'XOBJ_DTYPE_TXTAREAnullfalsenull);


Cambiar (línea 526 aproximadamente):

$sql sprintf("INSERT INTO %s (uid, uname, name, email
, url, user_avatar, user_regdate, user_icq, user_from, user_sig
, user_viewemail, actkey, user_aim, user_yim, user_msnm, pass
, posts, attachsig, rank, level, theme, timezone_offset, last_login
, umode, uorder, notify_method, notify_mode, user_occ, bio
, user_intrest, user_mailok) VALUES (%u, %s, %s, %s, %s, %s, %u
, %s, %s, %s, %u, %s, %s, %s, %s, %s, %u, %u, %u, %u, %s
, %.2f, %u, %s, %u, %u, %u, %s, %s, %s, %u)"
$this->db->prefix('users'), $uid$this->db->quoteString($uname)
$this->db->quoteString($name), $this->db->quoteString($email)
$this->db->quoteString($url), $this->db->quoteString($user_avatar)
time(), $this->db->quoteString($user_icq)
$this->db->quoteString($user_from)
$this->db->quoteString($user_sig), $user_viewemail
$this->db->quoteString($actkey)
$this->db->quoteString($user_aim)
$this->db->quoteString($user_yim)
$this->db->quoteString($user_msnm)
$this->db->quoteString($pass), $posts$attachsig$rank$level
$this->db->quoteString($theme), $timezone_offset0
$this->db->quoteString($umode), $uorder$notify_method
$notify_mode$this->db->quoteString($user_occ)
$this->db->quoteString($bio), $this->db->quoteString($user_intrest)
$user_mailok);


Por

$sql sprintf("INSERT INTO %s (uid, uname, name
, email, url, user_avatar, user_regdate, user_icq
, user_from, user_sig, user_viewemail, actkey, user_aim
, user_yim, user_msnm, pass, posts, attachsig
, rank, level, theme, timezone_offset, last_login
, umode, uorder, notify_method, notify_mode, user_occ, bio
, user_intrest, user_mailok,relacion) 
VALUES (%u, %s, %s, %s, %s, %s, %u, %s, %s, %s, %u
, %s, %s, %s, %s, %s, %u, %u, %u, %u, %s, %.2f, %u, %s
, %u, %u, %u, %s, %s, %s, %u, %s)"
$this->db->prefix('users')
$uid$this->db->quoteString($uname)
$this->db->quoteString($name), $this->db->quoteString($email)
$this->db->quoteString($url), $this->db->quoteString($user_avatar)
time(), $this->db->quoteString($user_icq)
$this->db->quoteString($user_from)
$this->db->quoteString($user_sig), $user_viewemail
$this->db->quoteString($actkey)
$this->db->quoteString($user_aim)
$this->db->quoteString($user_yim)
$this->db->quoteString($user_msnm)
$this->db->quoteString($pass), $posts$attachsig$rank
$level$this->db->quoteString($theme), $timezone_offset0
$this->db->quoteString($umode), $uorder$notify_method
$notify_mode$this->db->quoteString($user_occ)
$this->db->quoteString($bio), $this->db->quoteString($user_intrest)
$user_mailok$this->db->quoteString($relacion));



Cambiar (línea 528 aproximadamente):

$sql sprintf("UPDATE %s SET uname = %s, name = %s
, email = %s, url = %s, user_avatar = %s, user_icq = %s
, user_from = %s, user_sig = %s, user_viewemail = %u
, user_aim = %s, user_yim = %s, user_msnm = %s
, posts = %d,  pass = %s, attachsig = %u, rank = %u
, level= %u, theme = %s, timezone_offset = %.2f, umode = %s
, last_login = %u, uorder = %u, notify_method = %u
, notify_mode = %u, user_occ = %s, bio = %s
, user_intrest = %s, user_mailok = %u WHERE uid = %u"
$this->db->prefix('users'), $this->db->quoteString($uname)
$this->db->quoteString($name), $this->db->quoteString($email)
$this->db->quoteString($url), $this->db->quoteString($user_avatar)
$this->db->quoteString($user_icq)
$this->db->quoteString($user_from)
$this->db->quoteString($user_sig), $user_viewemail
$this->db->quoteString($user_aim)
$this->db->quoteString($user_yim)
$this->db->quoteString($user_msnm), $posts
$this->db->quoteString($pass), $attachsig$rank$level
$this->db->quoteString($theme), $timezone_offset
$this->db->quoteString($umode), $last_login
$uorder$notify_method$notify_mode
$this->db->quoteString($user_occ)
$this->db->quoteString($bio)
$this->db->quoteString($user_intrest), $user_mailok$uid);


Por

$sql sprintf("UPDATE %s SET uname = %s, name = %s
, email = %s, url = %s, user_avatar = %s, user_icq = %s
, user_from = %s,user_sig = %s, user_viewemail = %u
, user_aim = %s, user_yim = %s, user_msnm = %s, posts = %d
,  pass = %s, attachsig = %u, rank = %u, level= %u, theme = %s
, timezone_offset = %.2f, umode = %s, last_login = %u, uorder = %u
, notify_method = %u, notify_mode = %u, user_occ = %s, bio = %s
, user_intrest = %s, user_mailok = %u , relacion = %s 
WHERE uid = %u"
$this->db->prefix('users')
$this->db->quoteString($uname), $this->db->quoteString($name)
$this->db->quoteString($email), $this->db->quoteString($url)
$this->db->quoteString($user_avatar)
$this->db->quoteString($user_icq)
$this->db->quoteString($user_from)
$this->db->quoteString($user_sig)
$user_viewemail$this->db->quoteString($user_aim)
$this->db->quoteString($user_yim)
$this->db->quoteString($user_msnm)
$posts$this->db->quoteString($pass)
$attachsig$rank$level$this->db->quoteString($theme)
$timezone_offset$this->db->quoteString($umode)
$last_login$uorder$notify_method$notify_mode
$this->db->quoteString($user_occ), $this->db->quoteString($bio)
$this->db->quoteString($user_intrest), $user_mailok
$this->db->quoteString($relacion), $uid);



Eso es todo. Espero que os sirva.




Otras noticias
10/6/2016 4:21:05 - XOOPS 2.5.8 Final Español
14/10/2014 16:50:00 - Tutorial 1: Adaptando Plantillas HTML y CSS a XOOPS
23/6/2014 5:30:00 - Lanzamiento de XOOPS 2.5.7 Final
8/7/2013 3:40:00 - Diseño Web Adaptativo (Responsive Web Design)
21/6/2013 7:16:21 - Cambio de servidor

Los usuarios son responsables de sus propios comentarios.

Autor Hilo
ipwgc_com
Enviado: 19/2/2007 19:03  Actualizado: 19/2/2007 19:03
Normal
Conectado: 2/7/2005
Desde:
Envíos: 68
 Re: Cómo añadir campos al formulario de registro de usuarios
Estimados,
Aqui esta el hack en un winzip con las modificaciones que el amigo sheris ha sugerido.
1. Ya lo he provado en la version oficial 2.0.16
2. Podeis bajarlo aqui
http://www.ipwgc.com/downloads/campos_registracion_byIPWGC.com.zip

3. Las modificaciones son realizadas en 3 archivos
xoops/register.php
xoops/include/registerform.php
xoops/kernel/user.php

Abajo vereis en la imagen el campo añadido a esta modificacion
NOTE: Sera un buen comienzo para todos los novatos que desean añadir campos al registro y que estan recien familiarizandoce con XOOPS.
Regards, David

Haga Clic para ver la Imagen original en una ventana nueva

Respuestas Autor Enviado
 Re: Cómo añadir campos al formulario de registro de usuarios riosoft 19/2/2007 20:39
 Re: Cómo añadir campos al formulario de registro de usuarios ipwgc 8/10/2011 3:33

Autor Hilo
yared
Enviado: 18/2/2007 16:37  Actualizado: 18/2/2007 16:37
Normal
Conectado: 10/2/2003
Desde:
Envíos: 103
 Re: Cómo añadir campos al formulario de registro de usuarios
Lo siento, no me pude contener ... y tiene qu ver con la "sugerencia" de ipwgc_com .

Cuando uno puede hacer las cosas ¿porque no hacerlas David? tan facil seria de tu parte :
copiar y pegar y hacer el paquete y compartirlo.

En mi pais dicen. que lo quieren "peladito y a la boca" .

Se que eres una persona que le gusta participar, y que pide las cosas de buena manera, sin embargo, en esta ocacion te viste "flojito".

ya si sheris te hace el favor, ya la hiciste!.

Saludos.

Autor Hilo
ipwgc_com
Enviado: 17/2/2007 15:29  Actualizado: 17/2/2007 15:29
Normal
Conectado: 2/7/2005
Desde:
Envíos: 68
 Re: Cómo añadir campos al formulario de registro de usuarios
Saludos sheris,
Felicitaciones por tu explicacion como añadir campos al registro,
SUGERENCIA
Que tal si colocas un enlace con un archivo winzip para que podamos bajarlo? puede ser aqui mismo en la secuencia de los comentarios silo prefieres.

Es decir todos los archivos a ser modificados como un paquete, seria bueno que estuviera ya probado en la versión xoops 2.0.16

Estare aguardando ese link con todos los archivos ya modificados. para proceder a probarlos y continuar añadiendo mas campos al registro.

Saludos
David