Foros del Web » Programando para Internet » PHP »

Bloquear procesos de una pagina a otros usuarios

Estas en el tema de Bloquear procesos de una pagina a otros usuarios en el foro de PHP en Foros del Web. Necesito que cuando un usuario acceda a una pagina determinada, los procesos de esta pagina les salga como "bloqueado" a otros usuarios que accedan despues ...
  #1 (permalink)  
Antiguo 09/02/2007, 06:39
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 384
Antigüedad: 19 años, 10 meses
Puntos: 0
Bloquear procesos de una pagina a otros usuarios

Necesito que cuando un usuario acceda a una pagina determinada, los procesos de esta pagina les salga como "bloqueado" a otros usuarios que accedan despues a esa pagina. Mientras el primer usuario lo esté usando, estará bloqueado. Cuando deje la página, los procesos quedarán libres.

Estoy pensando como poder implementar algo así. Pero por ahora no se me ocurre nada. A ver si a alguien la viene la inspiración antes que a mí.

Uso php + mysql.
__________________
m!ketrix
CINE25 - Red Social de Cine
byinspiroh
  #2 (permalink)  
Antiguo 09/02/2007, 06:41
Avatar de dopon  
Fecha de Ingreso: julio-2005
Ubicación: Cucuta / Colombia
Mensajes: 493
Antigüedad: 19 años, 4 meses
Puntos: 1
Re: Bloquear procesos de una pagina a otros usuarios

una pregunta a que te refieres con procesos? cuantas paginas de acceso tienes y en si que e slo que deseas hacer
  #3 (permalink)  
Antiguo 09/02/2007, 07:04
Avatar de cyberneticos  
Fecha de Ingreso: febrero-2007
Ubicación: Pto Sta Mra, Cádiz
Mensajes: 223
Antigüedad: 17 años, 9 meses
Puntos: 3
Re: Bloquear procesos de una pagina a otros usuarios

Ok, creo que te refieres a cuando un usuario está modificando algún texto o valor, que otros no puedan entrar hasta que el primero haya terminado. Para que los nuevos sepan que ha habido un cambio (y no hayan cambios mientras ellos también lo hacen)

Es eso ?
  #4 (permalink)  
Antiguo 09/02/2007, 07:49
 
Fecha de Ingreso: diciembre-2003
Mensajes: 204
Antigüedad: 20 años, 11 meses
Puntos: 2
Re: Bloquear procesos de una pagina a otros usuarios

a ver si te pillo...

supon una tabla de noticias, el usuario A se pone a modificar la noticia 24, entonces si el usuario B intenta modificar la noticia 24 le salga que en esos momentos no puede.... si es eso lo que quieres es facil, create un campo en la tabla que sea bloqueado y cuando alguien este modificando un registro lo pones a true, cuando termine a false.
  #5 (permalink)  
Antiguo 09/02/2007, 08:41
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 384
Antigüedad: 19 años, 10 meses
Puntos: 0
Re: Bloquear procesos de una pagina a otros usuarios

DaChux, por alli va la cosa. No exactamente pero me puede servir.

El planteamiento es: Cuando el usuario A entre en la pagina para editar la noticia 24 (supongamos que la pagina contiene el formulario para editar la noticia), ponemos la variable a bloqueado. Cuando guarde los cambios se desbloquea, hasta aqui todo maravilloso. Peeero, si mientras estoy editando decido no cambiar nada y voy directamente a otra seccion de la pagina (desde el menu de la pagina supongamos), como puedo controlar eso? Porque se quedaria bloqueado... No se si me explico.
__________________
m!ketrix
CINE25 - Red Social de Cine
byinspiroh
  #6 (permalink)  
Antiguo 09/02/2007, 08:50
Avatar de cyberneticos  
Fecha de Ingreso: febrero-2007
Ubicación: Pto Sta Mra, Cádiz
Mensajes: 223
Antigüedad: 17 años, 9 meses
Puntos: 3
Re: Bloquear procesos de una pagina a otros usuarios

Puedes hacer que la página vaya refrescando, así sabes que el usuario aun esta metido, y que no se pueda modificar al archivo hasta 5 minutos después de la última recarga.
  #7 (permalink)  
Antiguo 09/02/2007, 10:56
 
Fecha de Ingreso: diciembre-2003
Mensajes: 204
Antigüedad: 20 años, 11 meses
Puntos: 2
Re: Bloquear procesos de una pagina a otros usuarios

miketrix, a ver. Usuario A se pone a modificar la noticia 24, lo primero que hago es poner el campo bloquedo (o como queramos llamarlo) a true. Justo despues, me creo una sesion, que sea bloquedao, cuyo valor sea la id de la noticia que estoy editando $_SESSION['bloqueado'] = 24;

Cuando ese usuario ve cualquier pagina, despues del session start miro el valor de dicha variable. Si tiene algun valor (en este caso, 24) y la pagina no corresponde a la noticia 24, pongo a false el campo bloqueado de la noticia que tengo en la session.

esto es facil de hacer si solo tenemos noticias, el problema viene cuando tenemos mas cosas (noticias, categorias, usuarios, que se yo) la solucion seria crear dos variables de sesion, una con la id en cuestion, y la otra con el nombre de la tabla a la que pertenece dicha id (usuario, noticias, etc)

El problema viene cuando yo estoy editando la noticia 24, pero en vez de irme a otro sitio, directamente cierro el navegador.... pero bueno, quiza sea liar mucho la cosa, no obstante, tambien se puede solucionar.

Un saludo, espero que te sirva
  #8 (permalink)  
Antiguo 09/02/2007, 11:01
Avatar de cyberneticos  
Fecha de Ingreso: febrero-2007
Ubicación: Pto Sta Mra, Cádiz
Mensajes: 223
Antigüedad: 17 años, 9 meses
Puntos: 3
Re: Bloquear procesos de una pagina a otros usuarios

Lo ultimo se puede solucionar con una estampa de tiempo. Mientras el usuario va editando se va recargando la web, y se va reseteando el minuto de recarga. en caso que se haya ido sin cerrar, el siguiente podra ver que se bloqueó por ultimo hace (más de 5 minuntos por ejemplo) tiempo, y puede editar.

Solo una idea.
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:35.