elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  LOGIN EN PHP AJAX Y MYSQL NO ME EJECUTA EL INDEX.PHP (SOLUCIONADO)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: LOGIN EN PHP AJAX Y MYSQL NO ME EJECUTA EL INDEX.PHP (SOLUCIONADO)  (Leído 9,383 veces)
smagno

Desconectado Desconectado

Mensajes: 22


Ver Perfil
LOGIN EN PHP AJAX Y MYSQL NO ME EJECUTA EL INDEX.PHP (SOLUCIONADO)
« en: 19 Octubre 2009, 17:11 pm »

Código:
[code][code][code]
HOLA NECESITO QUE ME EJECUTE EL INDEX.PHP EN OTRA PAGINA NO EN LA MISMA
DESPUES DE VALIDAR EL USUARIO QUE ESTOY HACIENDO MAL.

DE ANTEMANO MUCHAS GRACIAS



[code LOGIN.PHP]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
   <title>Acceso al sistema</title>
   <meta http-equiv="content-type" content="text/html; charset=utf-8" />

    <link type="text/css" rel="stylesheet" href="screen.css" />
    
    <script language="‭‬‭‬javascript" type="text/‭‬‭‬javascript" src="js/ajax.js"></script>
    
<script type="text/‭‬‭‬javascript">
      
   $(function() {
      // highlight
      var elements = $("input[type!='submit'], textarea, select");
      elements.focus(function(){
         $(this).parents('li').addClass('highlight');
      });
      elements.blur(function(){
         $(this).parents('li').removeClass('highlight');
      });
      
      $("#frmlogin").validate()
   });
   </script>
 
</head>
<body>
   <div id="page">
    
        <div id="header">
            <table width="800" border="0" class="">
                <tr>
                    <td><img src="img/logo.jpg" width="228" height="77" /></td>
                    <td>
                    <h1>SISTEMA CONTROL DE RECAUDOS (RECAUDOS-WEB)</h1>
                    </td>
                </tr>
            </table>
        </div>
       
       <div id="content" >
          <p id="status"></p>
            <form name="frmlogin" id="frmlogin" method="POST" action="#" onSubmit="enviarAccesoUsuario(); return false">

            <fieldset>
               <legend>Acceso al Sistema</legend>
                    
                    <ul>
                        <li>
                           <label for="usuario"><span class="required">Usuario : </span></label>
                            <input name="usuario" type="text" class="text required" id="usuario" size="20" maxlength="10" minlength="4" />
                       </li>
                        <li>
                            <label for="pass1"><span class="required">Clave : </span></label>
                            <input name="pass1" type="password" class="text required" id="pass1" size="20" maxlength="10" minlength="4" />
                        </li>
                        <li>
                     <label class="centered info"><a id="registrar" href="frmusuarios.php">Registrar ...</a></label>
                  </li>
                    </ul>
            </fieldset>
                <fieldset class="submit" align="center">
                   <table width="60%" border="0" >
                       <tr>
                        <td>&nbsp;</td>
                     <td><input type="submit" class="button" name="submit" value="Entrar ..." /></td>
                     <td><input type="reset" class="button" name="limpiar" value="Limpiar ..." /></td>
                     <td>&nbsp;</td>
                        </tr>
                    </table>
                </fieldset>

               <div class="clear"></div>
                <div id="resultado"></div>
         </form>
        </div>
</div>
</body>
</html>

[/code]


[code AJAX.JS]

function objetoAjax(){
   var xmlhttp=false;
   try {
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
   } catch (e) {
      try {
         xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (E) {
         xmlhttp = false;
        }
   }

   if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
      xmlhttp = new XMLHttpRequest();
   }
   return xmlhttp;
}

function enviarAccesoUsuario(){
   
    //donde se mostrará lo resultados
     divResultado = document.getElementById('resultado');
     divResultado.innerHTML = '<img src="img/loading.gif">';
  
     //valores de las cajas de texto
     usu = document.frmlogin.usuario.value;
     pa1 = document.frmlogin.pass1.value;
   
   //instanciamos el objetoAjax
     ajax=objetoAjax();
     //uso del metodo POST
     //archivo que realizará la operacion
     //validarusuario.php
     ajax.open("POST", "validarusuario.php", true);
     
   ajax.onreadystatechange=function() {
        if (ajax.readyState==4) {
        
      //mostrar resultados en esta capa
        divResultado.innerHTML = ajax.responseText
     }
  }

  ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  //enviando los valores
  ajax.send("usuario="+usu+"&pass1="+pa1)
}

[/code]

[code VALIDARUSUARIO.PHP]

<?php

session_start(); //abrimos la sesion para poder despues pasar variables de una pagina a otra

include_once('Connections/miconexionsql.php');

function quitar($mensaje) //funcion para quitar caracteres no permitidos
{
    $nopermitidos = array("'",'\\','<','>',"\"",";","$","%","&","/","|","{","}","[","]","+","#");
    $mensaje = str_replace($nopermitidos, "", $mensaje);
    return $mensaje;
}
function mysql_escape($cadena) {
    if(get_magic_quotes_gpc() != 0) {
        $cadena = stripslashes($cadena);
    }
    return mysql_real_escape_string($cadena);
}  

//variables POST

$estado= "0";  //creo la variable $estado=0 para compararla despues con el campo de la BD estado y si son cero le dejara pasar

$usuario  = $_POST['usuario'];
$pass1    = $_POST['pass1'];

if($usuario==NULL) {
   echo "No permite [USUARIO] en blanco.";
   return false;
}
if($pass1==NULL) {
   echo "No permite [CLAVE] en blanco.";
   return false;
}

Conectar();
$result = mysql_query("SELECT usuario, clave, estado FROM ma_usuarios WHERE usuario='$usuario'");
if($row = mysql_fetch_array($result)){

   // ciframos "Ciframos" el password
   $clave = sha1(md5($pass1));

   if($row['clave'] == $clave){
       $_SESSION["s_usuario"] = $row['usuario'];
        
      if( $estado == $row['estado']){  
           ?>
               <SCRIPT LANGUAGE="‭‬‭‬javascript">
               location.href = "index.php";
               </SCRIPT>
            <?
      }else{
            echo '<span class="Estilo5">Cuenta de Usuario sin activar</span>';
           session_destroy();
      }
    }else{
       echo '<span class="Estilo5">Clave incorrecta.</span>';
   }
}else{
   echo '<span class="Estilo5">Usuario no Existente.</span>';
}
mysql_close();

?>

[/code]


« Última modificación: 20 Octubre 2009, 19:32 pm por smagno » En línea

Mr. Crowley


Desconectado Desconectado

Mensajes: 343


Costa Rica


Ver Perfil WWW
Re: LOGIN EN PHP AJAX Y MYSQL NO ME EJECUTA EL INDEX.PHP
« Respuesta #1 en: 19 Octubre 2009, 17:36 pm »

Hola, no he analizado mucho el codigo, pero revise esta parte:

Código:
<SCRIPT LANGUAGE="‭‬javascript">
    location.href = "index.php";
</SCRIPT>

Hagalo desde la funcion (ajavascript) que valida al usuario.
Código:
window.location.href="loquesea.php";


En línea

Mi blog personal: www.calirojas.com
Azielito
no es
Colaborador
***
Desconectado Desconectado

Mensajes: 9.188


>.<


Ver Perfil WWW
Re: LOGIN EN PHP AJAX Y MYSQL NO ME EJECUTA EL INDEX.PHP
« Respuesta #2 en: 19 Octubre 2009, 18:55 pm »

ajax no ejecuta javascript cuando carga un archivo, o sea, si el archivo cargado tiene javascript no lo ejecuta, por eso no te esta funcionando U_U



Busca en inet que han hecho una solucion, o sea

básicamente tienes que captar el contenido del archivo cargado
buscar los tags "<script" </script>" y todo o que este dentro ponerlo dentro de un "eval()" =\

En línea

Mr. Crowley


Desconectado Desconectado

Mensajes: 343


Costa Rica


Ver Perfil WWW
Re: LOGIN EN PHP AJAX Y MYSQL NO ME EJECUTA EL INDEX.PHP
« Respuesta #3 en: 19 Octubre 2009, 19:08 pm »

Sorry, es que ahora no andaba con mucho tiempo y tuve que salir. Usa solucion facil puede ser la siguiente:

En el script php, hacer la validacion y devolverle al ajax (por ejemplo) la cadena "hola", con javascript se toma ese valor y se redirecciona:

Código:
 ajax.onreadystatechange=function() {
        if (ajax.readyState==4) {
       
      //mostrar resultados en esta capa
        if(ajax.responseText=="hola"){
             window.location.href="donde_sea.php";
        }else{
             divResultado.innerHTML = ajax.responseText
        }
     }
  }

Listo.. eso debe funcionarle perfectamente  ;D
En línea

Mi blog personal: www.calirojas.com
Hadess_inf
Desesperado
Colaborador
***
Desconectado Desconectado

Mensajes: 2.048


Nueva Vida


Ver Perfil WWW
Re: LOGIN EN PHP AJAX Y MYSQL NO ME EJECUTA EL INDEX.PHP
« Respuesta #4 en: 19 Octubre 2009, 19:09 pm »

yo pense que era

document.location.href= 'pagina'
En línea

Mr. Crowley


Desconectado Desconectado

Mensajes: 343


Costa Rica


Ver Perfil WWW
Re: LOGIN EN PHP AJAX Y MYSQL NO ME EJECUTA EL INDEX.PHP
« Respuesta #5 en: 19 Octubre 2009, 19:14 pm »

window.location.href="pagina"; carga la nueva pagina y habilita el boton de atras (seria algo asi como hacer clic en un enlace que le envia a otra pagina). document.location.href="pagina"; no habilita el boton de atras...
En línea

Mi blog personal: www.calirojas.com
Azielito
no es
Colaborador
***
Desconectado Desconectado

Mensajes: 9.188


>.<


Ver Perfil WWW
Re: LOGIN EN PHP AJAX Y MYSQL NO ME EJECUTA EL INDEX.PHP
« Respuesta #6 en: 20 Octubre 2009, 00:02 am »

dado el caso Mr. Crowley ha dado la respuesta :xD

si ya cargo yl el texto es "xxxxx"
   hacer lo que uno imageine, por ejemplo, otra funcion en ajax llamando la pagina de inicio
fin

:xD
En línea

smagno

Desconectado Desconectado

Mensajes: 22


Ver Perfil
Re: LOGIN EN PHP AJAX Y MYSQL NO ME EJECUTA EL INDEX.PHP
« Respuesta #7 en: 20 Octubre 2009, 00:17 am »

Código:
[code]
Gracias Mr. Crowley y a todos en el foro...

PERO ME PRESENTA LO SIGUIENTE.

EN FORMA LOCALHOST ME FUNCIONA COMO QUIERO. PERFECTO
PERO CUANDO LO SUBO A INTERNET ME SUCEDE QUE ECHO "Usuario Valido" ME QUEDA SOLO Y NO PASA AL INDEX.PHP.

LA VERDAD  SOY NUEVO EN AJAX - PHP - MYSQL TENGO A PENAS UN MES PERO ESTOY APREDIENDO GRACIAS A TODOS USTEDES.
AGRADECIENDOLES DE ANTEMANO..

BUENO LA MODIFICACION QUE HICE FUE LA SIGUIENTE.

[code]

[code VALIDARUSUARIO.PHP]

if($row = mysql_fetch_array($result)){

   // ciframos "Ciframos" el password
   $clave = sha1(md5($pass1));

   if($row['clave'] == $clave){
       $_SESSION["s_usuario"] = $row['usuario'];
        
      if( $estado == $row['estado']){
         echo "Usuario Valido";
      }else{
                    echo '<span class="Estilo5">Cuenta de Usuario sin activar</span>';
           session_destroy();
      }
    }else{
       echo '<span class="Estilo5">Clave incorrecta.</span>';
   }
}else{
   echo '<span class="Estilo5">Usuario no Existente.</span>';
}

[/code]


[code AJAX.JS]

function enviarAccesoUsuario(){
   
    //donde se mostrará lo resultados
     divResultado = document.getElementById('resultado');
     divResultado.innerHTML = '<img src="img/loading.gif">';
  
     //valores de las cajas de texto
     usu = document.frmlogin.usuario.value;
     pa1 = document.frmlogin.pass1.value;
   
   //instanciamos el objetoAjax
     ajax=objetoAjax();
     //uso del metodo POST
     //archivo que realizará la operacion
     //validarusuario.php
     ajax.open("POST", "validarusuario.php", true);
     
   ajax.onreadystatechange=function() {
        if (ajax.readyState==4) {
        
         // alert(ajax.responseText)
         if (ajax.responseText=="Usuario Valido"){
            window.location.href="index.php";
         }else{
            divResultado.innerHTML = ajax.responseText
         }
   }
     }

   ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
   //enviando los valores
   ajax.send("usuario="+usu+"&pass1="+pa1)
}

[/code]
« Última modificación: 20 Octubre 2009, 00:49 am por smagno » En línea

Mr. Crowley


Desconectado Desconectado

Mensajes: 343


Costa Rica


Ver Perfil WWW
Re: LOGIN EN PHP AJAX Y MYSQL NO ME EJECUTA EL INDEX.PHP
« Respuesta #8 en: 20 Octubre 2009, 01:04 am »

Como es eso de que "le queda solo y no pasa al index"??  :-(
En línea

Mi blog personal: www.calirojas.com
smagno

Desconectado Desconectado

Mensajes: 22


Ver Perfil
Re: LOGIN EN PHP AJAX Y MYSQL NO ME EJECUTA EL INDEX.PHP
« Respuesta #9 en: 20 Octubre 2009, 01:13 am »

SI CLARO ME MUESTRA LA PAGINA EN BLANCO MOSTRANDOME EN LA PARTE SUPERIOR "Usuario Valido" Y QUEDA AHI. Y NO PASA AL INDEX.PHP EN FORMA LOCALHOST SI FUNCIONA PERFECTO.
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
XAJAXGRID : Grid + AJAX + PHP + MYSQL
Desarrollo Web
Graphixx 5 10,432 Último mensaje 5 Abril 2012, 15:49 pm
por OssoH
Parametro de funcion load() Ajax no ejecuta bien
PHP
Lupin 5 3,344 Último mensaje 20 Abril 2013, 19:11 pm
por Lupin
Como se emplea el ajax en un formulario de Login?
Desarrollo Web
jesus1997 1 2,441 Último mensaje 12 Enero 2017, 04:12 am
por engel lex
Ajax request no se me ejecuta en el orden correcto.
Desarrollo Web
CryNoF 6 3,806 Último mensaje 14 Noviembre 2017, 15:38 pm
por CryNoF
Login php con clases y ajax
PHP
KiddKeo 1 2,085 Último mensaje 10 Junio 2019, 00:55 am
por mchojrin
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines