Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/05/2004, 11:10
armijo
 
Fecha de Ingreso: mayo-2004
Mensajes: 7
Antigüedad: 21 años
Puntos: 0
problema pagina asp

Hola tengo un problema, a ver si alguien me puede ayudar.

Estoy haciendo una web con asp y una base de datos Access, os explico como es y luego pregunto. Al final pondre el codigo.
La pagina principal es index.asp y desde aqui llamo a la subrutina <%call contenido()%> que se encuentra en contenido.asp (<%sub contenido()%>) y despues de hacer la consulta sql a la base de datos si estoy en el menu 6 cargo la pagina index.asp?id_idioma=1&seccion=6 en la que se pide nombre de usuario y contraseña para ver una pagina privada.
Ahora si el usuario no esta autorizado todo va bien, pero si esta autorizado se carga en una popup pop_pagina_privada.asp

Entonces el usuario autorizado ve mi pagina privada y al salir de ella (cerrando ventana o cerrando con el link que pongo para cerrar) si pincha Atras en el navegador es redireccionado a pagina_caducada.asp, hasta aki todo bien. Pero si se le ocurre escribir en la barra del navegador la direccion http://localhost/miDirectorio/inc/pop_pagina_privada.asp despues de haber entrado y salido de pop_pagina_privada.asp la puede volver a ver sin necesidad de introduccir su clave de acceso de nuevo. Esto es lo que no quiero que pase, quiero que se le redireccione a pagina_caducada.asp para que vuelva a identificarse. ¿Como lo puedo hacer?
(ah! si el usuario no ha accedido nunca a pop_pagina_privada.asp y escribe lo de antes, http://localhost/miDirectorio/inc/pop_pagina_privada.asp, es redirecionado a pagina_caducada.asp. Esto es lo que quiero que pase aun cuando se haya identificado alguna vez y haya cerrado la pop_pagina_privada.asp, agradezco la ayuda)

Otro problema que tengo es que en pop_pagina_privada.asp quiero cargar un flash y no me lo carga. Ya he cargado uno en una pagina intro.html y otro en la seccion 5 de mi web, que es index.asp?id_idioma=1&seccion=5.
¿Como puedo cargar el flash en pop_pagina_privada.asp?


Espero que alguien pueda ayudarme. Gracias y un saludo.
Ah! no soy muy experto en esto asi que el codigo que pongo a continuacion supongo que podria mejorarse.


index.asp
-----------

<!--#include file="inc/inc_variables.asp"--> ...1º linea...
<!--#include file="inc/inc_variables_servidor.asp"-->
<!--#include file="inc/inc_clases.asp"-->
<!--#include file="inc/inc_recordset.asp"-->
<!--#include file="inc/inc_textos.asp"-->
<!--#include file="inc/inc_menus.asp"-->
<!--#include file="inc/inc_contenido.asp"-->
<!--#include file="inc/inc_cont_lateral.asp"-->
<!--#include file="inc/inc_cont_superior.asp"-->
<!--#include file="inc/inc_funciones_generales.asp"-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
...codigo no impotante, titulo, css y script...
</head>
<body ....lo que sea...>
<% call abre_base(objBase,strBase,"Access") %> ...codigo abrir la base en inc_recordset.asp...
...codigo no importante...
<% call contenido() %>
...codigo no importante...
<%call cierra_base(objBase) %> ...codigo cerrar la base en inc_recordset.asp...
</body>
</html> ...Ultima linea...

inc_contenido.asp
-------------------

<%sub contenido()%> ...1ª linea...
<%
sql="sentencia SELECT de sql"
call abre_rs(rs, sql, objBase) ...codigo abrir recordset en inc_recordset.asp...
if not rs.eof then
...codigo no importante, es para los otros menus...
if id_menu = 6 then ...menu de acceso de datos...
%>
<% session("autentificado") = "no" %>
<form action="inc/control.asp" method="POST">
...codigo no importante...
<%if request.querystring("errorusuario")<>"si" then%>
...codigo para decir Introduce tu clave...
<%else%>
...codigo para decir datos incorrectos...
<%end if%>
...codigo para pedir usuario y contraseña...
<input type="Submit" value="ENTRAR">
</form>
...codigo no importante...
<%end if%>
<%end if%>
call cierra_rs(rs) ...codigo cerrar recorset en inc_recordset.asp...
<%end sub%> ...Ultima linea...

control.asp
------------

<!--#include file="inc_variables_servidor.asp"--> ...1ª linea...
<!--#include file="inc_recordset.asp"-->
'miro a ver si la autentificacion es correcta
'creo una sentencia SQL con los datos recibidos
<%sql = "SELECT * FROM acceso_usuarios where nombre_usuario='" & request.form("usuario") & "' and pass_usuario='" & request.form("contrasena") & "'"%>
'conecto y extraigo de la base de datos
<%
call abre_base(objBase,"mibase","Access")
objBase.execute sql
call abre_rs(rs, sql, objBase)

if (not rs.eof) then
'Como se ha localizado un registro es que ese usuario existe y su contraseña es correcta
'coloco las variables de sesion
session("autentificado") = "si"
%>
<script language=javascript>
function ventanaSecundaria (URL){
//abro la popup
window.open(URL,"Pag_segura","width=740,height=400 ,scrollbars=NO, menubar=no, location=no, resizable=no")
}
ventanaSecundaria("../inc/pop_pagina_privada.asp");
window.location = "../index.asp?id_idioma=1&seccion=6" //redirecciono la pagina padre
</script>
<%
else
session("autentificado") = "no"
response.Redirect "../index.asp?id_idioma=1&seccion=6&errorusuario=si"
end if
'cierro la conexion con base de datos
call cierra_rs(rs)
call cierra_base(objBase)
%> ...Ultima linea...


pop_pagina_privada.asp
-----------------------

<!--#include file="seguridad.asp"--> ...pongo el codigo mas alante...1º linea...
<html>
<head>
...codigo no impotante, tituluo, css y script...
</head>
<body ...lo que sea...>


...aqui quiero meter un flash y no lo doy conseguido...

<br>
<br>
<a href="../inc/salir_pop_pagina_privada.asp">SALIR Y CERRAR VENTANA</a>
<br>
<br>
</body>
</html> ...Ultima linea...

seguridad.asp
--------------

<% ...1ª linea...
Response.Buffer = true
' compruebo que tengo la variable de sesion creada y con el dato correcto
if session("autentificado") <> "si" then
response.redirect "pagina_caducada.asp"
response.end
end if
%> ...Ultima linea...


salir_pop_pagina_privada.asp
-----------------------------

<% Session("autentificado")="no" %> ...1ªlinea...
<%session.abandon%>
<script language=javascript>
window.close()
</script> ...Ultima linea...


pagina_caducada.asp (esta pagina esta en construccion)
----------------------

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> ...1ª linea...
<html>
<head>
<title>Pagina Caducada</title>
</head>
<body>
La pagina ha caducado
</body>
</html> ...Ultima Linea...