Retroceder   Foros del Web > Programación para sitios web > AJAX

Respuesta
 
Herramientas Desplegado
Antiguo 05-may-2008, 06:02   #1 (permalink)
virla está en el buen camino
 
Avatar de virla
 
Fecha de Ingreso: noviembre-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 800
como mantengo un valor despues de una recarga de la pagina

El tema es que estoy haciendo un sistema de registracion usuarios el tema del login lo tengo casi resuelto salvo por el tema de que cuando presiono un F5 o presiono algun link me muestra de nuevo los imput txt para logear si bien dentro del sistema sabe que estoy logeado ya que cargo valores en server variables.
como puedo hacer para que el javascript sepa que esta logeado?
Si aprobecho para que me dijeran como puedo hacer para que cuando mande la consulta de logeo aparezca un espere o procesando y la imagen animada que se suele ver en esos casos
espero puedan en esta ocacion darme una mano
gracias
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
virla está desconectado   Responder Citando
Antiguo 05-may-2008, 08:19   #2 (permalink)
Moderador
GatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradable
 
Avatar de GatorV
 
Fecha de Ingreso: mayo-2006
Ubicación: Queretaro, Mexico
Mensajes: 12.597
Re: como mantengo un valor despues de una recarga de la pagina

Hola virla,

Eso no lo manejas directamente con JavaScript, si en tu programa en el servidor, el sistema ya sabe que estas logueado, entonces al presionar F5 y dibujar tu pagina tu sistema debe de presentar el mensaje de que esta autentificado.

Para mostrar la imagen animada de espere, te pido busques en el foro, es un tema que ya se ha platicado mucho.

Saludos.
__________________
Blog Web
GatorV está desconectado   Responder Citando
Antiguo 05-may-2008, 08:22   #3 (permalink)
virla está en el buen camino
 
Avatar de virla
 
Fecha de Ingreso: noviembre-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 800
Re: como mantengo un valor despues de una recarga de la pagina

lamento decirte que el formulario de login vuelve a aparecer al refrescar la pagina eso es porque habria que poner una sentencia en el javascript que diga si estas logeado pasa de largo sino mostrar el formulario
gracias igual
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
virla está desconectado   Responder Citando
Antiguo 05-may-2008, 08:29   #4 (permalink)
virla está en el buen camino
 
Avatar de virla
 
Fecha de Ingreso: noviembre-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 800
Re: como mantengo un valor despues de una recarga de la pagina

por las moscas agrego mi codigo para que lo tengan
Código:
<script type="text/javascript">
<!--
    function CrearInstancia() {
        XMLHttp=false;
        
        if (window.XMLHttpRequest) {
            return new XMLHttpRequest();
        } else if (window.ActiveXObject) {
            var versiones= ["Msxml2.XMLHTTP.7.0", "Msxml2.XMLHTTP.6.0", "Msxml2.XMLHTTP.5.0", "Msxml2.XMLHTTP.4.0", "Msxml2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP" ];
            for (var i=0;i<versiones.length;i++) {
                try {
                    XMLHttp = new ActiveXObject(versiones[i]);
                    if (XMLHttp) {
                        return XMLHttp;
                        break;
                    }
                    
                } catch (e) {};
            }
        }
    }
    
    function validarUsuario() {
        XMLHttp = CrearInstancia();
        if (XMLHttp){
            username = document.form.username.value;
            password = document.form.password.value;
            document.form.username.value="";
            document.form.password.value="";
            
            url="/modulos/login/login.asp?username="+username +"&password="+password;
            XMLHttp.open("POST",url,true)
            XMLHttp.onreadystatechange=cambiaEstado
            XMLHttp.send(null)
            } else{
            alert('No se pudo crear la instancia');
            }
        }
        
        function cambiaEstado(){
            var respuesta;
            if (XMLHttp.readyState==4) {
                if (XMLHttp.responseText == "1") {
                    document.all.CeldaUsuarioUno.style.display="none";
                    document.all.CeldaUsuarioUno.style.display="inline";
                } else if (XMLHttp.responseText == "2"){
                    respuesta="por favor complete username y password";
                }else if (XMLHttp.responseText == "0"){
                    respuesta="username / password icorrecto";
                }else{
                }
                document.getElementById("respuesta").innerHTML=respuesta;
            }
        }

    function sacarUsuario() {
        XMLHttp = CrearInstancia();
        if (XMLHttp){
            userName = document.form1.UserName.value;
            url="login.asp?username="+userName +"&salir='si'";
            XMLHttp.open("POST",url,true)
            XMLHttp.onreadystatechange=cambiaEstado1
            XMLHttp.send(null)
            } else{
            alert('No se pudo crear la instancia');
            }
        }
        function cambiaEstado1(){
            if (XMLHttp.readyState==4) {
                if (XMLHttp.responseText == "1") {
                    document.all.CeldaUsuarioDos.style.display="inline";
                    document.all.CeldaUsuarioDos.style.display="none";
                }
            }
        }
//-->
</script>
        <div id="ContLogin">
        <%if Session("usuario")="" then%>
            <div id="CeldaUsuarioUno" align="right" style="display:inline">
                <form name="form" id="form">
                    Usuario:&nbsp;
                    <span class="Login"><input name="username" type="text" id="username" size="8"></span>&nbsp;
                    Clave:&nbsp;
                    <span class="Login"><input name="password" type="password" id="password" size="8"></span>
                    <input type="button" value="Login" class="boton" onClick="validarUsuario();">&nbsp;<img src="/skins/aspectox/img/flecha.gif"><a href='/index.asp?ir=user&ira=edit&opc=formNuevo' class="LinkLogin">&nbsp;<span class="LinkLogin">Crear nuevo</span></a>
                </form>
            </div>
            <span id="respuesta" name="respuesta" class="MensajesErr">&nbsp;</span>
          <%else%>
            <div id="CeldaUsuarioDos" align="right" style="display:inline">
                <form name="form1" id="form1">
                    <span class="MensajesLogin">Bienvenido&nbsp;
                    <strong><%= Session("usuario") %></strong>&nbsp;
                        <input type=hidden name="UserName" value="<%= Session("usuario") %>">
                        <input type="button" value="Logout" class="boton" onClick="sacarUsuario();">
                    </span>
                </form>
             </div>
          <%END IF%>
        </div>
haa ahora recuerdo tambien que este codigo me muestra un error en la linea de respuesta el mensaje que larga es: undefined pero al presionar el f5 desaparece el mensaje y me muestra el boton de logout y la bienvenida.
Otra cosita mas es que me gustaria que al presionar enter en el nput name="password" ejecute la accion sin tener que presionar el boton
bueno ahora si gracias a los que puedan brindarme una mano
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
virla está desconectado   Responder Citando
Antiguo 06-may-2008, 07:24   #5 (permalink)
virla está en el buen camino
 
Avatar de virla
 
Fecha de Ingreso: noviembre-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 800
Re: como mantengo un valor despues de una recarga de la pagina

ayuda plis
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
virla está desconectado   Responder Citando
Antiguo 06-may-2008, 08:11   #6 (permalink)
Moderador
GatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradable
 
Avatar de GatorV
 
Fecha de Ingreso: mayo-2006
Ubicación: Queretaro, Mexico
Mensajes: 12.597
Re: como mantengo un valor despues de una recarga de la pagina

Hola virla,

Como te comento, esto no lo manejas con JavaScript, una vez que estas logueado, tu programa en el servidor debe de saberlo, entonces al dibujar tu pagina con ASP, checas si esta logueado y si así es, dibujas entonces el mensaje de logout.

Deberías de preguntar tu duda en el foro de ASP, si es que no sabes como mantener el control de tu aplicación al estar logueado.

Saludos.
__________________
Blog Web
GatorV está desconectado   Responder Citando
Antiguo 06-may-2008, 08:45   #7 (permalink)
virla está en el buen camino
 
Avatar de virla
 
Fecha de Ingreso: noviembre-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 800
Re: como mantengo un valor despues de una recarga de la pagina

Perdoname GatorV, veo que sos el moderador de esta seccion, pero creo que deberias ver el codigo, el tema de asp lo tengo claro, y se que el problema esta con javascript que deberia recibir una opcion para saber que esta logeado y poner el div visible o no.
PD: cuando uno hace preguntas ponen que le pongamos el codigo y cuando lo ponemos para hacer el tema mas rapido en la respuestas, terminan por no verlos, el tema no es con vos, pero hace ya tiempo que veo que no hay muchas ganas de ayudar, hace unos años atras todos te brindaban ayuda, ojo que no busco que me hagan el laburo pero si espero que me orienten bien, y en este foro de ajax he visto muchos post sobre ajax /asp que no le han dado ayuda, y supuestamente todos dicen que es lo mismo que php, pues entonces no entiendo porque no poder ayudar.
Ojo aclaro que si bien este tema me pone mal, no estoy enojado y todo lo que digo lo hago con el respeto que cada persona merece.
gracias
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla

Última edición por virla; 06-may-2008 a las 08:49. Razón: falto agregar
virla está desconectado   Responder Citando
Antiguo 06-may-2008, 08:48   #8 (permalink)
Moderador
caricatos llegará a ser famoso muy prontocaricatos llegará a ser famoso muy prontocaricatos llegará a ser famoso muy prontocaricatos llegará a ser famoso muy prontocaricatos llegará a ser famoso muy pronto
 
Avatar de caricatos
 
Fecha de Ingreso: noviembre-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 12.214
Re: como mantengo un valor despues de una recarga de la pagina

Hola:

En muchas ocasiones se trata de un problema del sistema... que los datos que se tienen en memoria caché, se "rescatan" de esa memoria (ídem)... muchas veces basta con modificar algún parámetro "fastasma" de la url... una "chapuza" sería... url = url + "?" + new Date();

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
caricatos está desconectado   Responder Citando
Antiguo 06-may-2008, 11:47   #9 (permalink)
Moderador
GatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradable
 
Avatar de GatorV
 
Fecha de Ingreso: mayo-2006
Ubicación: Queretaro, Mexico
Mensajes: 12.597
Re: como mantengo un valor despues de una recarga de la pagina

Y como una vez más te digo, es ASP el responsable de indicarle a Javascript, por ejemplo:
Código:
If bLoggueado = True Then
%>
<div id="CeldaUsuarioUno">
<h1>Bienvenido <%=sUserName%></h1>
<a href="logout.asp">Salir</a>
</div>
<% Else %>
<div id="CeldaUsuarioUno">
<form action="login.asp" method="post" onsubmit="return false;"><!-- ojo esto es importante por si no tiene Javascript activado -->
          Usuario: <input type="text" name="user" value="" />
          Password: <input type="password" name="pass" value="" />
          <input type="submit" name="enviar" value="Enviar" onclick="validarUsuario();" />
</form>
<div id="respuesta"></div>
</div>
<% End If %>
Si te fijas en el código, primero al dibujar la pagina con ASP, checa si la variable bLoggueado = True, si lo es, entonces no dibuja el código del Form para hacer login, si no presenta un mensaje con el nombre de usuario y un link para salir.

En caso contrario muestra el código para el form de login, y todo esto desde ASP, desde Javascript solo controlas la parte para hacer el login.

Saludos.
__________________
Blog Web
GatorV está desconectado   Responder Citando
Antiguo 09-may-2008, 13:01   #10 (permalink)
virla está en el buen camino
 
Avatar de virla
 
Fecha de Ingreso: noviembre-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 800
Re: como mantengo un valor despues de una recarga de la pagina

Les voy a seguir jodiendo porque hay cosas que no logro entenderlas.

si tengo esto
function cambiaEstado(){
var respuesta;
if (XMLHttp.readyState==4) {
if (XMLHttp.responseText == '1') {
document.all.CeldaUsuarioUno.style.display="none";
document.all.CeldaUsuarioDos.style.display="inline ";
} else if (XMLHttp.responseText == '2'){
respuesta="por favor complete username y password";
} else if (XMLHttp.responseText == '0'){
respuesta="username / password icorrecto";
}else{
}
document.getElementById("respuesta").innerHTML=res puesta;
}
}

y esto otro
<%IF Session("UserLoggedIn") = "False" OR Session("UserLoggedIn") = "" THEN%>
<div id="CeldaUsuarioUno" align="right" style="display:inline">
<form name="form" id="form" onsubmit="return false;">
Usuario:&nbsp;
<span class="Login"><input name="username" type="text" id="username" size="8"></span>&nbsp;
Clave:&nbsp;
<span class="Login"><input name="password" type="password" id="password" size="8"></span>
<input type="button" value="Login" class="boton" onClick="validarUsuario();">&nbsp;<img src="/skins/aspectox/img/flecha.gif"><a href='/index.asp?ir=user&ira=edit&opc=formNuevo' class="LinkLogin">&nbsp;<span class="LinkLogin">Crear nuevo</span></a>
</form>
</div>
<span id="respuesta" name="respuesta" class="MensajesErr">&nbsp;</span>
<%ELSE%>
<div id="CeldaUsuarioDos" align="right" style="display:none">
<form name="form1" id="form1" onsubmit="return false;">
<span class="MensajesLogin">Bienvenido&nbsp;
<strong><%= Session("USU_USERNAME") %></strong>&nbsp;
<input type=hidden name="UserName" value="<%= Session("USU_USERNAME") %>">
<input type="button" value="Logout" class="boton" onClick="sacarUsuario();">
</span>
</form>
</div>
<%END IF%>

no deberia ocultarme el div o ponermelo visible depende de como sea?

La cosa es que ahora no funciona y me muestra un mensaje el javascript undefined
Si bien cuando actualizo la pagina esta todo funcionando bien, eso quiere decir que paso por el javascript y por el asp donde verifica los datos y si estan bien continua

gracias por la ayuda anterior y debo reconocer que tenias razon, si bien por ahi no entendia bien a lo que te referias
gracias
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
virla está desconectado   Responder Citando
Antiguo 09-may-2008, 14:45   #11 (permalink)
Moderador
GatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradable
 
Avatar de GatorV
 
Fecha de Ingreso: mayo-2006
Ubicación: Queretaro, Mexico
Mensajes: 12.597
Re: como mantengo un valor despues de una recarga de la pagina

Si te dice el error de javascript undefined, es porque estas tratando de leer, o poner una propiedad que no existe y es por eso que te marca el error.

Saludos.
__________________
Blog Web
GatorV está desconectado   Responder Citando
Antiguo 13-may-2008, 22:48   #12 (permalink)
killerangel tiene algunos puntos positivos de karma
 
Avatar de killerangel
 
Fecha de Ingreso: septiembre-2007
Ubicación: Un punto en el espacio
Mensajes: 325
Enviar un mensaje por MSN a killerangel
Re: como mantengo un valor despues de una recarga de la pagina

Hola virla.

Creo q tienes q verificar el codigo que colocas y de seguro notaras q se trata de error de sintaxis. Verifica tambien el codigo, si hay, de las otras partes, funciones o paginas que interactuan con la que te da dudas. En la mayoria de casos como el tuyo se trata de error de sintaxis que con una buen ojeada y pasiencia podras notar el error.

Por otro lado, te comento, que esta web tiene usuarios con ganas de ayudar, sobretodo los moderadores...

Saludos.
killerangel está desconectado   Responder Citando
Antiguo 14-may-2008, 05:57   #13 (permalink)
virla está en el buen camino
 
Avatar de virla
 
Fecha de Ingreso: noviembre-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 800
Re: como mantengo un valor despues de una recarga de la pagina

ok pero ya revise la sintaxis como 5 veces y dado a que de javascript nada por ahi es algo que yo no se como va.
gracias
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
virla está desconectado   Responder Citando
Antiguo 14-may-2008, 06:27   #14 (permalink)
scabral tiene algunos puntos positivos de karma
 
Fecha de Ingreso: abril-2008
Ubicación: Argentina
Mensajes: 52
Re: como mantengo un valor despues de una recarga de la pagina

Mira, recién estoy empezando con Javascript y esto puede ser una burrada pero creo que con un espacio de más ya salta error, fijate en el espacio extra detrás de "inline " y algún ";" faltante en style="display:inline">

Lo de guardar un valor no se puede hacer con cookies?

Cuando llegue a casa le doy un poco más de tiempo para revisar bien tu código y ver las referencias que tengo allí.

Saludos. Gustavo.
PD: A todo esto, no viene un depurador paso a paso que muestre valores de variables y cosas por el estilo??
scabral está desconectado   Responder Citando
Antiguo 14-may-2008, 12:32   #15 (permalink)
virla está en el buen camino
 
Avatar de virla
 
Fecha de Ingreso: noviembre-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 800
Re: como mantengo un valor despues de una recarga de la pagina

Bueno con respecto al espacio entre inline parece que ya lo había arreglado pero aparentemente el error no esta ahí.
Desde ya agradezco mucho el tiempo que te distes de revisar mi codigo
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
virla está desconectado   Responder Citando
Antiguo 15-may-2008, 08:51   #16 (permalink)
virla está en el buen camino
 
Avatar de virla
 
Fecha de Ingreso: noviembre-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 800
Re: como mantengo un valor despues de una recarga de la pagina

me parece que el tema del error undefined que me sale es por esto ¿Creo?

Código:
        function cambiaEstado(){
            var respuesta;
            if (XMLHttp.readyState==4) {
                if (XMLHttp.responseText == "1") {
                    document.all.CeldaUsuarioUno.style.display="none";
                    document.all.CeldaUsuarioUno.style.display="inline";
                } else if (XMLHttp.responseText == "2"){
                    respuesta="por favor complete username y password";
                }else if (XMLHttp.responseText == "0"){
                    respuesta="username / password icorrecto";
                }else{
                }
                document.getElementById("respuesta").innerHTML=respuesta;
            }
        }
ya que de donde saque el codigo para reformar no figuraban dos else if y como ya explique antes de javascript nada de nada atine a hacer eso para porque necesitaba algo asi.
si alguien lo puede revisar y decirme si eso esta bien
gracias
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla

Última edición por virla; 15-may-2008 a las 08:58. Razón: Me falto agregar texto
virla está desconectado   Responder Citando
Antiguo 15-may-2008, 12:27   #17 (permalink)
Moderador
GatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradable
 
Avatar de GatorV
 
Fecha de Ingreso: mayo-2006
Ubicación: Queretaro, Mexico
Mensajes: 12.597
Re: como mantengo un valor despues de una recarga de la pagina

El problema es que debes de hacer debugging de tu código, cuando te dice undefined es porque seguramente quieres leer una propiedad que no existe de algún elemento, te recomiendo si usas Firefox que bajes la extensión Firebug para que hagas un debug de tu código y veas donde esta fallando.

Saludos.
__________________
Blog Web
GatorV está desconectado   Responder Citando
Antiguo 15-may-2008, 12:47   #18 (permalink)
virla está en el buen camino
 
Avatar de virla
 
Fecha de Ingreso: noviembre-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 800
Re: como mantengo un valor despues de una recarga de la pagina

haa ok voy a probar con eso; pero me gustaria saber si el codigo ese que puse esta bien escrito
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
virla está desconectado   Responder Citando
Antiguo 16-may-2008, 07:18   #19 (permalink)
virla está en el buen camino
 
Avatar de virla
 
Fecha de Ingreso: noviembre-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 800
Respuesta: como mantengo un valor despues de una recarga de la pagina

bueno he instalado en casa el firebug y lo probe y en casa si me tiro errores.
estos me los da aca

function CrearInstancia() {
XMLHttp=false;

if (window.XMLHttpRequest) { |cuando entra aca parece que esta el error porque entra y recibe el return new XMLHttpRequest()
return new XMLHttpRequest();
} else if (window.ActiveXObject) {
var versiones= ["Msxml2.XMLHTTP.7.0", "Msxml2.XMLHTTP.6.0", "Msxml2.XMLHTTP.5.0", "Msxml2.XMLHTTP.4.0", "Msxml2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP" ];
for (var i=0;i<versiones.length;i++) {
try {
XMLHttp = new ActiveXObject(versiones[i]);
if (XMLHttp) {
return XMLHttp;
break;
}

} catch (e) {};
}
}
}


trate de poner otro codigo mas reducido
function CrearInstancia()
{
var XMLHttp=null;
if (window.ActiveXObject)
XMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
else
if (window.XMLHttpRequest)
XMLHttp = new XMLHttpRequest();
return XMLHttp;
}

y sucede lo mismo
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
virla está desconectado   Responder Citando
Antiguo 16-may-2008, 08:27   #20 (permalink)
Moderador
GatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradable
 
Avatar de GatorV
 
Fecha de Ingreso: mayo-2006
Ubicación: Queretaro, Mexico
Mensajes: 12.597
Respuesta: como mantengo un valor despues de una recarga de la pagina

Verifica tus llaves { }, es de buena practica indentar el código y guardarlo entre sus respectivas llaves.

Saludos.
__________________
Blog Web
GatorV está desconectado   Responder Citando
Antiguo 16-may-2008, 09:09   #21 (permalink)
virla está en el buen camino
 
Avatar de virla
 
Fecha de Ingreso: noviembre-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 800
Respuesta: como mantengo un valor despues de una recarga de la pagina

Ahora puse este que saque de las faq
function CrearInstancia() {
// Detectando que navegador se está usando...
if(navigator.appName == 'Microsoft Internet Explorer') {
XMLHttp = new ActiveXObject('Microsoft.XMLHTTP');
} else {
XMLHttp = new XMLHttpRequest();
}
return XMLHttp;
}

pero sigue con el problema del undefined
y con el tema de las {} como dije no tengo idea de javascript y lo que hago es copiar y modificar y por ahi puede que elgo del codigo este mal escrito o como decis vos las {} mal puestas o con faltantes pero segun la revisada que le pege yo estaria todo correcto
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
virla está desconectado   Responder Citando
Antiguo 16-may-2008, 12:07   #22 (permalink)
Moderador