Foros del Web » Programando para Internet » PHP »

Cargar una sola vez url en Ventana o pestaña

Estas en el tema de Cargar una sola vez url en Ventana o pestaña en el foro de PHP en Foros del Web. buenas tardes como estan todos , tengo un problemita como todos sabemos podemos cargar n veces la pagina en diferentes pestañas , ventanas ,etc, ejemplo: ...
  #1 (permalink)  
Antiguo 14/05/2012, 15:09
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 13 años, 6 meses
Puntos: 76
Cargar una sola vez url en Ventana o pestaña

buenas tardes

como estan todos , tengo un problemita

como todos sabemos podemos cargar n veces la pagina en diferentes pestañas , ventanas ,etc,

ejemplo: tengo mi url ficticia http://misistemas/index.php , la puedo tener en muchas pestañas, cierto !

como puedo controlar que solo me permita cargarla una vez, que si ya estoy en esa url, no me permita desde otra pestaña ingresar a la misma.. es que tengo un sistema transaccional y me esta formando un problema grave por eso, los usuarios son curiosos y se ponen a jugar con el sistemita y no se como controlarlo.

  #2 (permalink)  
Antiguo 14/05/2012, 15:27
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 6 meses
Puntos: 528
Respuesta: Cargar una sola vez url en Ventana o pestaña

Una opción es tratar cada ventana como una sesión independiente, a través de un token, así si crean una nueva ventana e ingresan a tu sitio tendrían que hacer login de nuevo.

Sin embargo, habría que ver que tipo de transacciones haces, ya que si realmente son transacciones y las haces bien, no debería haber problemas por muchas sesiones que abrieran al mismo tiempo.
  #3 (permalink)  
Antiguo 14/05/2012, 15:42
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 13 años, 6 meses
Puntos: 76
Respuesta: Cargar una sola vez url en Ventana o pestaña

hola

gracias por responder, la opcion del token , no me la permite hacer , se que toca usar sesiones pero, habia pensado en por ejemplo al cargar la primera vez, llenar una base de datos con la url y a partir de ello validar, pero ninguna de las ideas funcionan
  #4 (permalink)  
Antiguo 14/05/2012, 15:48
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 6 meses
Puntos: 528
Respuesta: Cargar una sola vez url en Ventana o pestaña

¿Sabes a qué me refiero con token? ¿por qué dices que no te la permite hacer?.

Si no usas sesiones, debes saber que aunque las uses, eso no garantiza que no puedan abrir en más de una ventana el mismo sitio.
  #5 (permalink)  
Antiguo 14/05/2012, 15:52
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 13 años, 6 meses
Puntos: 76
Respuesta: Cargar una sola vez url en Ventana o pestaña

disculpa por mi ignorancia, pues asi como hace Comcel , por token que es un aparato electronico..
  #6 (permalink)  
Antiguo 14/05/2012, 16:01
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Cargar una sola vez url en Ventana o pestaña

Cada "pestaña" es un request HTTP diferente para PHP, por lo que solo es cuestión de que verifiques sí ya entro, o no al archivo que estas solicitando, y en caso afirmativo le niegas el acceso, ej:
Código PHP:
Ver original
  1. <?php
  2. $here = $_SERVER['PHP_SELF'];
  3. if (isset($_SESSION['pagesopen']) && isset($_SESSION['pagesopen'][$here]) && ($_SESSION['pagesopen'][$here] == true)) {
  4.       die('you where already here');
  5. }
  6.  
  7. $_SESSION['pagesopen'][$here] = true;

Así solo van a poder cargar una instancia de tu archivo, ahora solo tendrías que controlar que en algún momento cambies ese flag a false para que puedan volver a entrar.

Saludos.
  #7 (permalink)  
Antiguo 14/05/2012, 18:38
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 13 años, 6 meses
Puntos: 76
Respuesta: Cargar una sola vez url en Ventana o pestaña

gracias GatorV, funciona pero ahi un problemita, , si le da F5 en la pestaña donde lo abrio por primera vez pues que si la deje cargar normal, pero igual ahi ya no me deja.
  #8 (permalink)  
Antiguo 14/05/2012, 18:50
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Cargar una sola vez url en Ventana o pestaña

Es lo que te digo, PHP no "reconoce" una pestaña, esas no existen para PHP, ya para PHP es una petición HTTP, independiente si es una nueva ventana, o una nueva pestaña.

Realmente no vas a poder limitar a una sola pestaña y mantener que PHP reconozca solo es pestaña tirando solo de PHP, tienes que usar en conjunto javascript y posiblemente otra herramienta.

Saludos.
  #9 (permalink)  
Antiguo 15/05/2012, 07:18
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 13 años, 6 meses
Puntos: 76
Respuesta: Cargar una sola vez url en Ventana o pestaña

Gracias men,

si tienes razon , toca con Javascript , voy a aclaras las ideas ..
  #10 (permalink)  
Antiguo 15/05/2012, 08:17
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 8 meses
Puntos: 336
Respuesta: Cargar una sola vez url en Ventana o pestaña

con javascript puedes abrir una ventana que queda instanciada con un nombre, por ejemplo:

window.open("ejemplo.php", "la_ventana_unica", "toolbar=no,menubar=no,directories=no,status=no,re sizable=yes,location=no,scrollbars=no,height=300,w idth=400,screenX=200,screenY=100");

Esto abre una ventana sin pestañas, sin navegador, sin refrescador, sin retroceder, etc, con tu página "ejemplo.php".

Esta ventana es UNICA, no se puede abrir otra ventana con ese nombre, puedes probar a intentar abrirla de nuevo y verás que no se puede sin cerrar la anterior.

Ahora dentro de esta página puedes hacer acciones dirigidas solo a esta ventana usando el nombre que le he dado (la_ventana_unica).

por ejemplo si tienes un formulario, puedes hacer que envíe los datos solo a esta ventana, sin importar si el usuario intento copiar la url y abrirla en otra ventana o pestaña, ya que siempre se ejecutarán la acciones en la misma ventana (la_ventana_unica):

<script language="javascript">
function enviaformulario() {
win = window.open('','la_ventana_unica','toolbars=0');
document.myForm.target='la_ventana_unica';
document.myForm.submit();
}
</script>
<form action="ejemplo.php" method="post" name="myForm">
<input type="submit" value="Enviar" id="windoname" onClick="enviaformulario();"/>
</form>

eso evitará que intenten usar 2 ventanas o 2 pestañas, y si lo llegan a hacer irremediablemente volverán a la_ventana_unica.
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #11 (permalink)  
Antiguo 15/05/2012, 11:02
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 13 años, 6 meses
Puntos: 76
Respuesta: Cargar una sola vez url en Ventana o pestaña

hola

gracias por tu ayuda stramin, lo voy a probar..


Etiquetas: pestaña, url, vez, ventanas, usuarios
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 13:10.