Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Problema paso vars formulario ajax para logueo usuario

Estas en el tema de Problema paso vars formulario ajax para logueo usuario en el foro de Frameworks JS en Foros del Web. Buenas, estoy haciendo una pagina web en la que tengo una parte privada para usuarios. El problema que tengo es que cuan me quiero loguear ...
  #1 (permalink)  
Antiguo 22/09/2009, 03:51
 
Fecha de Ingreso: noviembre-2006
Mensajes: 117
Antigüedad: 18 años
Puntos: 0
Problema paso vars formulario ajax para logueo usuario

Buenas, estoy haciendo una pagina web en la que tengo una parte privada para usuarios. El problema que tengo es que cuan me quiero loguear no me pasa ni el valor del email ni de la clave. He probado con varias funciones que he encontrado pero con todas me pasa lo mismo, no me pasa los valores de meil y clave por lo que nunca me loguea y siempre me muestra mensaje de error. Espero me puedan ayudar ya que llevo con esto muchos díasy no hay manera.

loguear.php -> este php contiene el formulario para introducir los datos, así como el javascript necesario y la llamada a la funcion login.php
Código PHP:
<?php 
session_start
();
session_register();
include_once(
"../BBDD/conexDBTMusik.php");

/* LLAMAMOS AL ARCHIVO FUNCIONES Y OBTENEMOS EL IDIOMA ACTUAL */

if (!isset($_SESSION['lang'])) { 
    require(
'../lang/espanol.php');
    
//require('espanol.php');
    
$_SESSION['lang']='espanol';
#por defecto, llamamos al archivo espanol.php (espa&ntilde;ol)
else { 
    require(
'../lang/'$_SESSION['lang'] .'.php'); 
#llamamos al archivo php seleccionado…

?>
<!--<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 transitional//ES" "http://www.w3.org/tr/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">-->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<head>
    <title>Introducir</title>
<script>
//acá cada uno crea el objeto a su manera
function aj(){
    if(window.XMLHttpRequest){
        return new XMLHttpRequest();
    }
    else{
        try{
            return new ActiveXObject('Microsoft.XMLHTTP');
        }catch(e){
            alert('tu navegador no soporta ajax');
            return false;
        }
    }
}
function sendAndLoad(){
    var rpc=aj();
    if(rpc){
        //si pudo crearse el objeto, avanzamos (respetar el orden)
        rpc.open('POST','./cuenta/login.php',true);
        rpc.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        //preparamos las variables a enviar
        var aEnviar='';

        for(ii=0; ii<arguments.length;ii++){
//usamos el objeto arguments para obtener y parsear los datos a enviar
//encodeURI es semejante a urlencode de PHP
            aEnviar+=arguments[ii].desc+'='+encodeURI(arguments[ii].dato)+'&';
        }
        //creamos una función anónima que sirva de handler
        rpc.onreadystatechange=function(){
            if(rpc.readyState==4){
                //nos conectamos, recibimos y hacemos algo con lo que recibimos si queremos
                //en este caso, mostramos lo que enviamos
                document.getElementById('pp').style.display='block';
                document.getElementById('pp').style.color='green';
                document.getElementById('pp').innerHTML=rpc.responseText;
            }else{
                //no nos conectamos todavía y mostramos la precarga
                document.getElementById('pp').style.display='block';
            }
        }
//Recién ahora, que tenemos todo lo anterior terminado, podemos enviar el request
        rpc.send(aEnviar);
    }
}
//asignamos la función al botón de envío al cargar la página, así no tocamos el html
window.onload=function(){
    document.getElementById('Submit').onclick=function(){
        //pasamos objetos escritos en notación json como argumentos
sendAndLoad({desc:'meil',dato:document.getElementById('meil').value},{desc:'clave1',dato:document.getElementById('clave1').value},{desc:'Submit',dato:document.getElementById('Submit').value});
    }
}
</script>
</head>
<body onLoad="ponerfoco(0,0);">

    <table width="100%" height="28%" border=0 style="height:100%;width:100%;">
        <tr align="center" bottom="middle">
            <td height="144">
                  <table width="100%" height="28%" border=0 style="height:100%;width:100%;">
                    <tr align="center" bottom="middle">
                      <td height="106">
                          <form id="acceso" name="acceso" method="post" action="">
                        <table border=0>                    
    
                        <tr>
                            <td align="left">Email:</td>
                            <td align="left"><input type="text" name="meil" id="meil" maxlength="50" size="10"> </td>
                        </tr>

                        <tr>
                            <td align="left"><?php echo $lng['usuario']['clau'];?></td>
                            <td align="left"><input type=PASSWORD name="clave1" id="clave1" maxlength="20" size="10" > </td>
                        </tr>
        
                        <tr>
                            <td align="left">
                            <input type="button" name="submit" id="submit" value=<?php echo $lng['cuentanueva']['acceder'];?> onClick="return principal('./cuenta/login.php','mainContent');"
                            </td>
                            <td align="left">
                            <input type="reset" name="resetb" value=<?php echo $lng['contacto']['5'];?> >
                            </td>
                      </tr>
                      
                      <tr>
                            
                            <td align="left" ><div id="mensaje" align="center"><?php echo $lng['usuario']['olvido'];?></div>
                            <div id="mensaje" align="center"> <input type="button" name="clave0" value="Reenviar Clave" align="center" onClick="envmail.php"></div></td>
                            
                      </tr>                 
                      </table>
                      </form>
                       </td>
                      </tr>
                      </table>    
    </td>
    </tr>
    <div id="pp" style="display:none;color:#F00"></div> 
    </table>

</body>
</html>
<?php include_once("../BBDD/desconexDBTMusik.php"); ?>
login.php -> este archivo es el que hace la validación de campos, si es correcto me redirige a un mensaje por pantalla y sino me envia a loguear2.php,

Código PHP:
<?php
session_start
();
session_register();

/* LLAMAMOS AL ARCHIVO FUNCIONES Y OBTENEMOS EL IDIOMA ACTUAL */

if (!isset($_SESSION['lang'])) 

    require(
'../lang/espanol.php');
    
//require('espanol.php');
    
$_SESSION['lang']='espanol';
#por defecto, llamamos al archivo espanol.php (espa&ntilde;ol)
else 

    require(
'../lang/'$_SESSION['lang'] .'.php'); 
#llamamos al archivo php seleccionado…

include_once('../Gestor/BBDD/conexDBTMusik.php');

$meil=$_REQUEST['meil'];
$clave1=$_REQUEST['clave1'];

// To protect MySQL injection 
$meil stripslashes($meil);
$clave1 stripslashes($clave1);
$meil mysql_real_escape_string($meil);
$clave1 mysql_real_escape_string($clave1);

$sql="SELECT * FROM clientes WHERE Mail='".$meil."' AND Clave='".$clave1."' GROUP BY Mail";
$result=mysql_query($sql)or die( mysql_error());

// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row

if($count==1)
{
/*    if (($meil!="")&&(!ereg('^[a-z0-9]+([\.]?[a-z0-9_-]+)*@'.'[a-z0-9]+([\.-]+[a-z0-9]+)*\.[a-z]{2,}$',$meil)))
    {*/
        
if(($meil!="") || ($clave1!=""))
        {
                
$sel=mysql_fetch_array($result);    
                
//crear la nueva sesi&oacute;n y asignarle como valor, la hora actual --> para controlar los tiempos de sesion
                
session_start();
                
//asigno un nombre a la sesi&oacute;n para poder guardar diferentes datos
                
$_SESSION["usuario"]=$sel->Id_Cliente;
                
//asigno el usuario a la sesi&oacute;n
                
session_name($_SESSION["usuario"]);
                
// inicio la sesi&oacute;n
                
$_SESSION["autentificado"]= "SI";
                
//defino la sesi&oacute;n que demuestra que el usuario est&aacute; autorizado
                
$_SESSION["ultimoAcceso"]= date("Y-n-j H:i:s");
                
//defino la fecha y hora de inicio de sesi&oacute;n en formato aaaa-mm-dd hh:mm:ss
                
$_SESSION["tipocliente"]=$sel['TipoCliente'];
                
header("location:login_success.php");
        }
        else
        {
            
$error $lng['login']['3'];
        }
    }
/*    else
    {
        $error = $lng['login']['5'];
    }
}*/
else 
{
    
$error $lng['login']['2'];
}
if (
$error != "" )
{
    
header("location:loguear2.php?error=$error&meil=$meil");
}

include_once(
"../Gestor/BBDD/desconexDBTMusik.php");
?>
loguear2.php -> donde muestro el error y debería cargar el meil introducido anteriormente por el user. El meil siempre me aparece vacío y el error que me aparece es este: $error = $lng['login']['2']; -> 'USUARIO NO EXISTENTE O PASSWORD INCORRECTO', lo tengo con echos porque ees una futura página multiidioma. Solo se diferencia de loguear.php en los 2 echos de las variables que recibo de login.php.

Espero me puedan ayudar. Muchas gracias!
  #2 (permalink)  
Antiguo 22/09/2009, 09:28
 
Fecha de Ingreso: noviembre-2006
Mensajes: 117
Antigüedad: 18 años
Puntos: 0
Respuesta: Problema paso vars formulario ajax para logueo usuario

¿Podría suceder si tengo algún error javascript que suceda antes de la carga del formulario? Hace poco he visto que tengo un error javascript (que no se solucionar y ya he preguntado como hacerlo) en index.php desde el que cargo este formulario.
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 23:22.