Foros del Web » Programando para Internet » PHP »

Sistema de Registro

Estas en el tema de Sistema de Registro en el foro de PHP en Foros del Web. Estoy creando un formulario de registro en mi web (http://pixelbit.com.pe/user/), por lo mismo que mi pagina web es de compra de articulos, tengo que aumentar ...
  #1 (permalink)  
Antiguo 25/11/2010, 21:18
 
Fecha de Ingreso: enero-2010
Ubicación: Lince, Lima, Perú
Mensajes: 8
Antigüedad: 14 años, 3 meses
Puntos: 0
Sistema de Registro

Estoy creando un formulario de registro en mi web (http://pixelbit.com.pe/user/), por lo mismo que mi pagina web es de compra de articulos, tengo que aumentar los campos del formulario por lo cual pense en poner los siguientes:
  • id
  • name
  • lastname
  • gender
  • email
  • mobile
  • country
  • zipcode
  • timezone
  • birthday
  • password

CASO PHP:
Quisiera crear un formulario de esta forma:
  • gender (dos botones *Masculino *Femenino)
  • mobile (no se permita letras)
  • country (un menu despegable con todos los paises)
  • zipcode (valide si el codigo postal es correcto)
  • timezone (un menu despegable con todas las zonas horarias)
  • birthday (3 menus despegables que indiquen dia, mes & año)

CASO MYSQLP:
Hasta donde tengo conocido algunos se crean con distinta configuracion:
Por ejemplo:
  • name (Varchar 100 caracteres , etc)

las siguientes no sabria exactamente como crearlas:
  • timezone
los demas creo que son con varchar, pero si alguno tuviera una caracteristica especial seria mejor que me la expliquen.

Muchas Gracias (:
  #2 (permalink)  
Antiguo 26/11/2010, 02:53
Avatar de tersipodes  
Fecha de Ingreso: noviembre-2010
Mensajes: 23
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Sistema de Registro

Hola,

Puedes tratar todos los campos como varchar, puesto que aunque tengas numeros de teléfono o demás, no pasa nada si los guardas como texto. Lo que te interesa es la información que guardes en la base de datos para poder recuperarla después, no que dentro de la BD tengas específicamente un campo que guarde el timezone, por ejemplo.
  #3 (permalink)  
Antiguo 26/11/2010, 03:03
Avatar de auttranadhie  
Fecha de Ingreso: noviembre-2008
Ubicación: Madrid (España)
Mensajes: 156
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: Sistema de Registro

Hola:

En mi opinión, haría lo siguiente:

gender: integer de 1 carácter y establecería 0 ó 1 para hombre o mujer, o viceversa.

zipcode: integer. Para evaluarlo en PHP usa is_numeric(). Ahora, hacer un automatismo para ver si es correcto con cada país tiene su aquel ...

timezone: integer. Introduciría los datos de una tabla tbl_timezone con los siguientes campos: uno timezone_id, otro timezone_value (integer que permita valores negativos) y, por último, uno timezone_caption (varchar que muestre los datos). Luego en PHP haría un select y el valor de cada option sería el timezone_id:

<select name="cbo_timezone">
<option value=1>Nombre del huso horario</option>
</select>


Con timezone_value puedes calcular la zona sumando o restando a 0 que sería el valor de la hora GMT (Greenwich Meridian Time).

birthday: datetime. Luego en PHP estableces el formato de presentación o entrada de datos.

email: varchar. Usaría un javascript para evlaluar si es una dirección de correo electrónico (hay muchos ejemplos por ahí).

Espero que te sirva de ayuda y suerte.
__________________
A. Uttranadhie
  #4 (permalink)  
Antiguo 26/11/2010, 16:47
 
Fecha de Ingreso: enero-2010
Ubicación: Lince, Lima, Perú
Mensajes: 8
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Sistema de Registro

Cita:
Iniciado por tersipodes Ver Mensaje
Hola,

Puedes tratar todos los campos como varchar, puesto que aunque tengas numeros de teléfono o demás, no pasa nada si los guardas como texto. Lo que te interesa es la información que guardes en la base de datos para poder recuperarla después, no que dentro de la BD tengas específicamente un campo que guarde el timezone, por ejemplo.
No se veria bien ver en los perfiles de los usuarios que salga su celular con texto aparte, por mi parte lo veo algo informal
  #5 (permalink)  
Antiguo 26/11/2010, 16:59
 
Fecha de Ingreso: enero-2010
Ubicación: Lince, Lima, Perú
Mensajes: 8
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Sistema de Registro

Ya cree mis tablas de esta forma:



Quisiera saber si la forma en las que la cree esta bien de acuerdo a como pienso usarlas.
  #6 (permalink)  
Antiguo 26/11/2010, 18:00
Avatar de auttranadhie  
Fecha de Ingreso: noviembre-2008
Ubicación: Madrid (España)
Mensajes: 156
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: Sistema de Registro

Hola, de nuevo:

Antes de pasar a mis comentarios creo que este tema se trataría de forma más debida en el foro de MySQL. Que sean los moderadores quienes decidan.

En mi opinión, debieras revisar al menos los siguientes campos:

gender

Como te comenté yo usaría valores numéricos o un campo de tipos enum de forma que a la hora de hacer tus consultas éstas sean lo más exactas posibles. Es posible que, en algunos casos, los usuarios consignen "hombre" o "varón" para el sexo masculino. Si es así las consultas te resultarán complejas de escribir (p.e., SELECT * FROM tbl_mitabla WHERE gender LIKE 'hombre' OR LIKE 'varón' ... ) Sin embargo, si asignas números simplemente tendrías que escribir: SELECT * FROM tbl_mitabla WHERE gender = 0).

timezone

No entiendo en absoluto el uso de un campo tipo time. Piensa por un momento qué vas a hacer con él. Si es introducir un valor de hora, minutos y segundos lo entenderé. Creo que debes revisar este tipo de campos en el manual de MySQL.

Como ya escribí anteriormente creo que un campo de tipo integer que permita valores negativos es más útil. Así podrás operar con la hora del sistema y el valor de dicho campo sumando o restando tantas horas como sean necesarias.

country

Para este campo puedes tener una tabla aparte cuyo identificador sea textual y corresponda al código ISO de países (ISO 3166-1-alpha-2), y luego la relacionas que para eso MySQL es un gestor de bases de datos relacionales.

admin

No sé cuál es su funcionalidad. ¿Determinar si eres administrador?

En general, siempre que te sea posible trabajar con números aprovéchalo. Son más precisos y dan menos dolores de cabeza.

En fin, espero que te haya servido de ayuda. Un saludo.
__________________
A. Uttranadhie

Última edición por auttranadhie; 26/11/2010 a las 18:07

Etiquetas: mysql, pixelbit, sistema-de-registro
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:33.