Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/08/2011, 06:59
Avatar de locmasm
locmasm
 
Fecha de Ingreso: noviembre-2007
Ubicación: México D. F.
Mensajes: 301
Antigüedad: 16 años, 4 meses
Puntos: 1
Pregunta Reedirecionamiento en un Frame no funciona correctamente

Que tal, espero me puedan apoyar.

Les comento un issue en un pequeño sistema que estoy desarrollando, verificar codigos de barras y compararlos con un registro de una base de datos, nada del otro mundo, la cuestión es la siguiente.

Tengo un archivo index.php con este codigo

Código PHP:
<title>Sistema</title>
<
link rel="shortcut icon" href="images/favicon.ico" />
<
frameset cols="0,*">
<
frame name="oculto" src="oculto.html" noresize>
<
frame name="MMS" src="index2.php">
</
frameset>
<
noframes>
Te recomendamos utilizar Internet Explorer para visualizar esta página correctamente.
</
noframes
Al abrir el index nos manda al index2.php que tiene esto:

Código PHP:
<html>
<!-- 
Created on6/14/2011 -->
<
head>
  <
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  <
title>Sistema</title>
<
script type="text/javascript">
var 
pagina 'control.php';
var 
segundos 1;
function 
redireccion() {
document.location.href=pagina;
}
setTimeout("redireccion()",segundos);
</script>
</head>
<body>
</body>
</html> 
Y este a su vez reedirecciona al archivo control.php que hace lo siguiente, por medio de este javascript:

Código PHP:
<script language="javascript">
var  
gsUserNamegsComputerNamegsUserDomain;

   
gsUserName     Get_UserName();
   
gsComputerName Get_ComputerName();
   
gsUserDomain   Get_UserDomain();

function 
Get_ComputerName(){
   var  
WshNetwork   = new ActiveXObject ("WScript.Network");
   return (
WshNetwork.ComputerName);
}

function 
Get_UserName(){
   var  
WshNetwork   = new ActiveXObject ("WScript.Network");
   return  (
WshNetwork.UserName);
}
function 
Get_UserDomain(){
   var  
WshNetwork   = new ActiveXObject ("WScript.Network");
   return  (
WshNetwork.UserDomain);
}
</script> 
Toma el nombre del equipo local, usuario local de windows y dominio (como sistema de autenticación para saber quien esta en el sistema)

Y así es como toma los datos:

Código PHP:
if (isset($_GET['UserName']) AND isset($_GET['ComputerName']) AND isset($_GET['UserDomain'])) {

} else {
  echo 
"<script language='javascript'>\n";
  echo 
"  location.href=\"${_SERVER['SCRIPT_NAME']}?${_SERVER['QUERY_STRING']}"
           
"&UserName=\" + gsUserName + \"&ComputerName=\" + gsComputerName + \"&UserDomain=\" + gsUserDomain;\n";
  echo 
"</script>\n";
  exit();

El problema es el siguiente: algunos equipos/usuarios, al entrar al index que los manda al index2 y este los reedirecciona a control, el codigo de arriba no lee el usuario y no muestra nada a menos que entren directamente a control.php, sólo pasa en algunos equipos, no en todos.

Saludos.