Foros del Web » Programando para Internet » PHP »

Crear zona privada?

Estas en el tema de Crear zona privada? en el foro de PHP en Foros del Web. Hola , esto es lo que quiero hacer: En mi web , una vez registrado, que el usuario pueda crear una zona (privada y común ...
  #1 (permalink)  
Antiguo 23/04/2009, 03:17
rtr
 
Fecha de Ingreso: abril-2009
Mensajes: 368
Antigüedad: 15 años
Puntos: 2
Crear zona privada?

Hola , esto es lo que quiero hacer:

En mi web , una vez registrado, que el usuario pueda crear una zona (privada y común con otros usuarios que tengan la clave de acceso).

Creo que, mas o menos, se como podria ser pero veo algunos cosillas por retocar.

¿Seria creando una especie de "segundo registro de usuarios"pero en vez de crear un nuevo usuario, crearia la zona común (pidiendo solo el nombre de la zona comun y una clave de acceso)?

Lo que me falta por saber es como hacer que se relacione los usuarios que entran en cada zona común ....

Espero vuestra ayuda, saludos
  #2 (permalink)  
Antiguo 23/04/2009, 03:37
f0n
 
Fecha de Ingreso: abril-2009
Mensajes: 54
Antigüedad: 15 años
Puntos: 1
Respuesta: Crear zona privada?

Haz una tabla en la base de datos que contenga las zonas privadas a las que se tiene acceso con la id del usuario al que se le es permitido el acceso (clave foránea). Eso si controlas el registro desde una base de datos, sino puedes hacerlo similar en el modelo de datos que uses.

Un saludo
  #3 (permalink)  
Antiguo 23/04/2009, 03:45
rtr
 
Fecha de Ingreso: abril-2009
Mensajes: 368
Antigüedad: 15 años
Puntos: 2
hola, ¿pero como hago eso? aun no estoy muy familiarizado con las tablas y bases de datos.
Como hacer una tabla que contenga las zonas privadas....??

Los campos serian , id del usuario, clave de la tabla y ...¿usuarios que la integran?.

una cosa asi??

create table zonaprivada (
id smallint(5) NOT NULL auto_increment,
zona varchar(30) NOT NULL default '',
contraseña varchar(35) NOT NULL default '',
PRIMARY KEY (id),
UNIQUE KEY zona(zona)
)

Última edición por GatorV; 23/04/2009 a las 09:16
  #4 (permalink)  
Antiguo 23/04/2009, 04:02
f0n
 
Fecha de Ingreso: abril-2009
Mensajes: 54
Antigüedad: 15 años
Puntos: 1
Respuesta: Crear zona privada?

Si por ejemplo ya dispones de una tabla llamada "usuarios" con los campos

id, nick, password, edad

Te crearías otra tabla llamada "accesos" por ejemplo con los campos

zona, id (especificando usuario como llave foránea, así que si añades un registro en "accesos", el campo id tiene obviamente que existir en "usuarios")

Para comprobar un acceso una consulta sería de este estilo

Código PHP:
mysql_query("SELECT * FROM usuarios U,accesos A WHERE U.id = A.id AND zona = 'zona1' AND U.nick = '".$usuario."'"); 
  #5 (permalink)  
Antiguo 23/04/2009, 04:22
rtr
 
Fecha de Ingreso: abril-2009
Mensajes: 368
Antigüedad: 15 años
Puntos: 2
Respuesta: Crear zona privada?

en este codigo , ¿como especifico usuario como llave foranea?

los campos de la otra tabla son id, usuario,nombre, apellido,email.

create table accesos (
id smallint(5) NOT NULL auto_increment,
zonavarchar(30) NOT NULL default '',
contraseña varchar(35) NOT NULL default '',
PRIMARY KEY (id),
)
  #6 (permalink)  
Antiguo 23/04/2009, 04:42
f0n
 
Fecha de Ingreso: abril-2009
Mensajes: 54
Antigüedad: 15 años
Puntos: 1
Respuesta: Crear zona privada?

http://www.google.es/search?q=llave+...ient=firefox-a

Primer resultado
  #7 (permalink)  
Antiguo 23/04/2009, 05:38
rtr
 
Fecha de Ingreso: abril-2009
Mensajes: 368
Antigüedad: 15 años
Puntos: 2
..gracias por el enlace, pero ahi hacen referencia a que ya tengas las dos tablas hechas....¿como hago la tabla accesos?....

con el codigo que te comente mas arriba verdad??

CREATE TABLE usuarios(
usuario INTEGER(2) UNSIGNED NOT NULL AUTO_INCREMENT,
nombre CHAR(40) NOT NULL,
PRIMARY KEY(cod_are)
)
TYPE=InnoDB;

CREATE TABLE accesos_usuarios(
cod_fac INTEGER(3) UNSIGNED NOT NULL AUTO_INCREMENT,
usuario INTEGER(2) UNSIGNED NOT NULL,
nombre CHAR(80) NOT NULL,
PRIMARY KEY(cod_fac),

INDEX accesos_usuarios(usuario),
FOREIGN KEY(usuario)
REFERENCES usuarios(usuario)
ON DELETE RESTRICT
ON UPDATE CASCADE
)
TYPE=InnoDB;


Este codigo es para crear una primera tabla y otra con llave foranea (vinculadas), mirala a ver si ves algun fallo.

Última edición por GatorV; 23/04/2009 a las 09:16
  #8 (permalink)  
Antiguo 23/04/2009, 10:06
rtr
 
Fecha de Ingreso: abril-2009
Mensajes: 368
Antigüedad: 15 años
Puntos: 2
Respuesta: Crear zona privada?

f0n he abierto el tema en "su sitio" en el tema de Bases de Datos, incluyendo el codigo para crear la tabla con el campo foraneo...
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 00:07.