4images Forum & Community
International => Español / Castellano => Topic started by: excitex2 on November 04, 2006, 01:23:25 PM
-
Saludos,,,
Son muchos los usuarios que están pidiendo ayuda sobre como insertar nuevos campos en el formularios de registro de sus galerías y naturalmente que los datos que se introduzcan en los nuevos campos también se muestren en el perfil del usuario y en el panel de control de dicho usuarios,,, así como en el panel de control de la galería.
Pongamos por ejemplo que un usuarios quiere introducir 5 nuevos campos : Nombre , Apellidos , Edad ,Teléfono y Ciudad.
Paso 1 :
Abrimos includes/db_field_definitions.php
Insertar antes de ?> :
$additional_user_fields['user_nombre'] = array($lang['user_nombre'], "text", 1);
$additional_user_fields['user_apellidos'] = array($lang['user_apellidos'], "text", 1);
$additional_user_fields['user_ciudad'] = array($lang['user_ciudad'], "text", 1);
$additional_user_fields['user_edad'] = array($lang['user_edad'], "text", 1);
$additional_user_fields['user_telefono'] = array($lang['user_telefono'], "text", 1);
Nota : el número 1 que está al final de cada array es para lo siguiente : 1 = obligatorio de rellenar ; 0 = no obligatorio osea vuluntario.
Por lo tanto como lo hemos puesto a 1,,, todo el que se registre tendrá que rellenar ese campo obligatoriamente.
para un texto = "Text" ,,, para opciones ejemplo si o no = "radio"
Cerrar y guardar cambios.
Paso 2 :
Abrir lang/tu_idioma/main.php :
Localizar :
$lang['password'] = "Contraseña:";
Añadir debajo :
$lang['user_nombre'] = "Nombre : ";
$lang['user_apellidos'] = "Apellidos : ";
$lang['user_ciudad'] = "Ciudad : ";
$lang['user_edad'] = "Edad";
$lang['user_telefono'] = "Teléfono : ";
Cerrar y guardar cambios
Paso 3 :
Abrir templates/tus_plantillas/register_form.html
Localizar :
<tr>
<td class="row1"><b>{lang_user_name}</b></td>
<td class="row1">
<input type="text" name="user_name" size="30" value="{user_name}" class="input" />
</td>
</tr>
Añadir debajo :
<tr>
<td class="row2"><b>{lang_user_nombre}</b></td>
<td class="row2">
<input type="text" name="user_nombre" size="30" value="{user_nombre}" class="input" />
</td>
</tr>
<tr>
<td class="row1"><b>{lang_user_apellidos}</b></td>
<td class="row1">
<input type="text" name="user_apellidos" size="30" value="{user_apellidos}" class="input" />
</td>
</tr>
<tr>
<td class="row2"><b>{lang_user_ciudad}</b></td>
<td class="row2">
<input type="text" name="user_ciudad" size="30" value="{user_ciudad}" class="input" />
</td>
</tr>
<tr>
<td class="row1"><b>{lang_user_edad}</b></td>
<td class="row1">
<input type="text" name="user_edad" size="30" value="{user_edad}" class="input" />
</td>
</tr>
<tr>
<td class="row2"><b>{lang_user_telefono}</b></td>
<td class="row2">
<input type="text" name="user_telefono" size="30" value="{user_telefono}" class="input" />
</td>
</tr>
Cerrar y guardar cambios
Paso 4 :
Abrir templates/tus_plantillas/member_profile.html
Localizar :
<tr>
<td class="row1"><b>{lang_join_date}</b></td>
<td class="row1">{user_join_date}</td>
</tr>
Añadir debajo :
<tr>
<td class="row2"><b>{lang_user_nombre}</b></td>
<td class="row1">{user_nombre}</td>
</tr>
<tr>
<td class="row1"><b>{lang_user_apellidos}</b></td>
<td class="row1">{user_apellidos}</td>
</tr>
<tr>
<td class="row2"><b>{lang_user_ciudad}</b></td>
<td class="row2">{user_ciudad}</td>
</tr>
<tr>
<td class="row1"><b>{lang_user_edad}</b></td>
<td class="row1">{user_edad}</td>
</tr>
<tr>
<td class="row2"><b>{lang_user_telefono}</b></td>
<td class="row2">{user_telefono}</td>
</tr>
Cerrar y guardar cambios
Paso 5 :
Abrir templates/tus_plantillas/member_editprofile.html
Localizar :
<tr>
<td colspan="2" valign="top" class="head1">{lang_profile_of} {user_name}</td>
</tr>
Añadir debajo :
<tr>
<td class="row1"><b>{lang_user_nombre}</b></td>
<td class="row1"><input type="text" name="user_nombre" size="30" value="{user_nombre}" class="input" /></td>
</tr>
<tr>
<td class="row2"><b>{lang_user_apellidose}</b></td>
<td class="row2"><input type="text" name="user_apellidos" size="30" value="{user_apellidos}" class="input" /></td>
</tr>
<tr>
<td class="row1"><b>{lang_user_ciudad}</b></td>
<td class="row1"><input type="text" name="user_ciudad" size="30" value="{user_ciudad}" class="input" /></td>
</tr>
<tr>
<td class="row2"><b>{lang_user_edad}</b></td>
<td class="row2"><input type="text" name="user_edad" size="30" value="{user_edad}" class="input" /></td>
</tr>
<tr>
<td class="row1"><b>{lang_user_telefono}</b></td>
<td class="row1"><input type="text" name="user_telefono" size="30" value="{user_telefono}" class="input" /></td>
</tr>
Cerrar y guardar cambios
Paso 6 :
Abrir member.php
Localizar :
"user_homepage" => $user_homepage,
Añadir debajo :
"user_nombre" => $user_nombre,
"user_apellidos" => $user_apellidos,
"user_ciudad" => $user_ciudad,
"user_edad" => $user_edad,
"user_telefono" => $user_telefono,
Localizar :
$user_email = (isset($HTTP_POST_VARS['user_email'])) ? un_htmlspecialchars(trim($HTTP_POST_VARS['user_email'])) : "";
Añadir arriba :
$user_nombre = (isset($HTTP_POST_VARS['user_nombre'])) ? un_htmlspecialchars(trim($HTTP_POST_VARS['user_nombre'])) : "";
$user_apellidos = (isset($HTTP_POST_VARS['user_apellidos'])) ? un_htmlspecialchars(trim($HTTP_POST_VARS['user_apellidos'])) : "";
$user_ciudad = (isset($HTTP_POST_VARS['user_ciudad'])) ? un_htmlspecialchars(trim($HTTP_POST_VARS['user_ciudad'])) : "";
$user_edad = (isset($HTTP_POST_VARS['user_edad'])) ? un_htmlspecialchars(trim($HTTP_POST_VARS['user_edad'])) : "";
$user_telefono = (isset($HTTP_POST_VARS['user_telefono'])) ? un_htmlspecialchars(trim($HTTP_POST_VARS['user_telefono'])) : "";
Localizar :
$user_email = $user_info['user_email'];
Añadir arriba :
$user_nombre = $user_info['user_nombre'];
$user_apellidos = $user_info['user_apellidos'];
$user_ciudad = $user_info['user_ciudad'];
$user_edad = $user_info['user_edad'];
$user_telefono = $user_info['user_telefono'];
Localizar :
"user_name" => format_text(stripslashes($user_name), 2),
Añadir debajo :
"user_nombre" => format_text(stripslashes($user_nombre), 2),
"user_apellidos" => format_text(stripslashes($user_apellidos), 2),
"user_ciudad" => format_text(stripslashes($user_ciudad), 2),
"user_edad" => format_text(stripslashes($user_edad), 2),
"user_telefono" => format_text(stripslashes($user_telefono), 2),
Cerrar y guardar cambios
Paso 7 :
Y por último se tiene que crear los nuevos campos en la base de datos en la tabla users
los nombre de los campos tienen que ser los siguientes :
nombre del campo : user_nombre ; tipo de campo : varchar ; longitud del campo 255 ; nulo : not null
nombre del campo : user_apellidos ; tipo de campo : varchar ; longitud del campo 255 ; nulo : not null
nombre del campo : user_ciudad ; tipo de campo : varchar ; longitud del campo 255 ; nulo : not null
nombre del campo : user_edad ; tipo de campo : varchar ; longitud del campo 10 ; nulo : not null
nombre del campo : user_telefono ; tipo de campo : varchar ; longitud del campo 15 ; nulo : not null
Si hay alguien que no sabe como instertar dichos campos en la base de datos,,, os dejo este script que lo hace automáticamente :
Copiarlo en el directorio raiz de tu galería,, donde teneis el config.php,,, nombrais el script como instalar_campos.php y lo ejecutais en el navegador que useis :
<?php
define('ROOT_PATH', './');
include(ROOT_PATH.'global.php');
$mod_name = "Insertar nuevos campos en el registro";
$mod_author = "excitex2";
$sql_data = array(
"ALTER TABLE `".USERS_TABLE."` ADD `user_nombre` varchar(255) NOT NULL",
"ALTER TABLE `".USERS_TABLE."` ADD `user_apellidos` varchar(255) NOT NULL",
"ALTER TABLE `".USERS_TABLE."` ADD `user_ciudad` varchar(255) NOT NULL",
"ALTER TABLE `".USERS_TABLE."` ADD `user_edad` varchar(10) NOT NULL",
"ALTER TABLE `".USERS_TABLE."` ADD `user_telefono` varchar(15) NOT NULL",
);
$error_log = array();
$error_msg = "";
if ($action == "modinstall") {
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=windows-1252" http-equiv="Content-Type">
<link rel="stylesheet" href="admin/cpstyle.css">
<title>4images Installer</title>
</head>
<body leftmargin="20" topmargin="20" marginwidth="20" marginheight="20" bgcolor="#FFFFFF">
<table cellpadding="0" cellspacing="0" border="0" width="500" align="center">
<tr><td class="tableborder"><img src="admin/images/logo_installer.gif" width="500" height="45"><br />
<table cellpadding="3" cellspacing="1" border="0" width="100%">
<tr class="tablerow2"><td><b>MOD: <?php echo $mod_name; ?></b> (por <?php echo $mod_author; ?>)</td></tr>
<tr class="tablefooter"><td align="center"> </td></tr>
</table>
<table cellpadding="3" cellspacing="1" border="0" width="100%">
<tr class="tablerow"><td colspan="2" align="right"></td></tr>
<tr class="tablerow2"><td colspan="2"><br /><blockquote>
<?php
$date = time();
$exist = 0;
$row = $site_db->query("SHOW tables");
while ($r = $site_db->fetch_array($row)) {
/* if ($r[0] == ENCUESTAS) {
$exist = 1;
break;
} */
}
if (!$exist) {
foreach ($sql_data as $val){
echo ($change) ? "" : "Ejecución: <br>";
echo str_replace("\n", "<br />", $val)."<br /><br />";
if (!$site_db->query($val)) {
$error_log[] = str_replace("\n", "<br />", $val);
}
}
}
if (empty($error_log)) {
if ($exist) {
echo "<h4>.<br />No se ha realizado ningun cambio.</h4>";
}else{
echo "</blockquote><h4>Operación realizada con exito!</h4>";
}
}else{
echo "<a href=\"".$self_url."\">Intentarlo otra vez</a><br />";
}
echo "<a href=\"./\">Volver a la galería</a>";
?>
</blockquote></td></tr>
<tr class="tablefooter"><td colspan="2"> </td></tr>
</table>
</td>
</tr>
</table>
</table>
<p align="center"> Powered by <b>4images</b> <?php echo SCRIPT_VERSION; ?><br />Copyright © 2002 <a href="http://www.4homepages.de" target="_blank">4homepages.de</a><br /></p>
</body>
</html>
<?php
exit;
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=windows-1252" http-equiv="Content-Type">
<link rel="stylesheet" href="admin/cpstyle.css">
<title>4images Instalador</title>
</head>
<body leftmargin="20" topmargin="20" marginwidth="20" marginheight="20" bgcolor="#FFFFFF">
<form action="<?php echo $self_url; ?>" name="form" method="post">
<table cellpadding="0" cellspacing="0" border="0" width="500" align="center">
<tr><td class="tableborder"><img src="admin/images/logo_installer.gif" width="500" height="45"><br />
<table cellpadding="3" cellspacing="1" border="0" width="100%">
<tr class="tablerow2"><td><b>MOD: <?php echo $mod_name; ?></b> (por <?php echo $mod_author; ?>)</td></tr>
<tr class="tablefooter"><td align="center"> </td></tr>
</table>
<table cellpadding="3" cellspacing="1" border="0" width="100%">
<tr class="tablerow"><td colspan="2" align="right"></td></tr>
<tr class="tablerow2"><td colspan="2"><center>
Esta aplicación modificará la base de datos de tu galería, por favor<br><b>
<font color="#FF0000">HAZ UNA COPIA DE SEGURIDAD DE LA BASE DE DATOS ANTES DE EJECUTAR ESTA APLICACION!</b></font><br><br>
Por favor comprueba todos los campos que se muestran abajo.<br>
Si no corresponden con tus datos, por favor<br><b>NO EJECUTES ESTA APLICACION</b>!
</center></td></tr>
<tr class="tableheader"><td colspan="2"><b><span class="tableheader">Configuración de la base de datos </span></b></td></tr>
<tr class="tablerow"><td>Tipo de servidor de la base de datos</td><td><?php echo $db_servertype; ?></td></tr>
<tr class="tablerow2"><td>Nombre del servidor donde está instalada la base de datos</td><td><?php echo stripslashes($db_host); ?></td></tr>
<tr class="tablerow"><td>Nombre de la base de datos</td><td><?php echo stripslashes($db_name); ?></td></tr>
<tr class="tablerow2"><td>Prefijo de la TABLA en la base de datos</td><td><?php echo stripslashes($table_prefix); ?></td></tr>
<tr class="tablefooter"><td colspan="2"><center><input type="hidden" name="action" value="modinstall"><input type="submit" value="Iniciar aplicación" class="button" name="submit"></center></td></tr>
</table>
</td>
</tr>
</table>
</form>
<p align="center"> Powered by <b>4images</b> <?php echo SCRIPT_VERSION ; ?><br />Copyright © 2006 <a href="http://www.4homepages.de" target="_blank">4homepages.de</a><br /></p>
</body>
</html>
Bueno y eso es todo,,, no lo he probado,, por lo tanto es posible que haya algun error,, si es así,, lo poneis que lo corregiremos.
Estos datos que se insertan en el registro,, es posible sacarlos tambien en los comentarios y en los datos de la imagen,, pero eso es otra historia al registro.
excitex2
-
Hola se podra colocar estos datos instalar_campos.php en install.php o el sea para que ya se instalen al comienzo de la instalacion de la galeria?
-
Darf ich mal fragen was das ist?
-
Darf ich mal fragen was das ist?
Das ist ein Tutorial um zusätzliche Felder in die Registrierung einzubauen wie: Vorname Nachname Stadt Alter Telefon etc. Angepasst an Spanischer Sprache
-
Achso,
danke dir!