PHP - Login con mysqli

 
Vista:
sin imagen de perfil

Login con mysqli

Publicado por andres (63 intervenciones) el 07/03/2014 17:08:21
Buenos dias a todos si me pueden ayudar les agradeceria.

estoy haciendo un logueo en php con mysqli el cual maneja un formulario, luego una funcion en javascrip con ajax y por ultimo este pasa a un modelo para ser ejecutado y recibir los datos pero no se como decirle que me devuelva que los datos son correctos aqui esta mi codigo gracias

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<!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">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
        <title>login</title>
        <script language="javascript" type="text/javascript" src="jquery.js"> </script>
        <script type="text/javascript" language="javascript" src="Flogin.js"></script>
        <link rel="stylesheet" type="text/css" href="estilo.css" />
        <script language="javascript">
			$(document).ready(Inicio); //funcion inicial de JQuery
		</script>
 
    </head>
    <body>
        <div class="registro" >
            <a href="registrarse.php" >No tienes una cuenta?, Registrate ya</a>
    </div>
        <div class="lg-container">
        <h1>Iniciar Sesi&oacute;n</h1>
        <?php
            //si hay algún mensaje de error lo mostramos escapando los carácteres html
            if (!empty($mensaje)) echo('<h2>'.htmlspecialchars($mensaje).'</h2>');
        ?>
        <br>
        <form action="login.php" id="lg-form" name="lg-form" enctype="multipart/form-data" method="post">
            <label for:"username">Usuario:</label>
                <input name="usuario" type="text" id="usuario" value="" size="20" maxlength="50" placeholder="username"/>
            <div>
            <label>Contraseña:</label>
                <input name="password" type="password" id ="pass" value="" size="20" maxlength="30" placeholder="password"/>
          </div>
          <div>
           <center> <button id="aceptar"   name="aceptar">Aceptar </button> </center>
           <img src="images/servi.png" width="100%" height="100%"/>
            </div>
        </form>
    </body>
    </div>
</html>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function Inicio(){
 
$("#aceptar").click(function(){
 
	var usuario = $("#usuario").attr("value");
	var pass = 	$("#pass").attr("value");
	var datos = "usuario="+usuario+"&pass"+pass;
			$.ajax({
				type:"post",
				url:"login.class.php",
				data:datos,
				dataType:"html",
				success:function(result){
					document.location.href="index.php";
				}
			})
 
		});
}

1
2
3
4
5
6
7
8
9
10
<?php
require_once('php/prospecto_modelo.php');
$datos= array(
'usuario'=>$_POST['usuario'],
'pass'=>$_POST['pass']
 
	);
$ingreso = new Prospecto();
$persona->login($datos);
?>

y en un model que extiende otra clase abstracta tengo esto
1
2
3
4
5
6
7
8
9
10
11
12
public function login($datos=array()){
			foreach ($datos as $campo=>$valor):
						$$campo = $valor;
					endforeach;
 
			$this->query = "
					SELECT * from usuarios where usua_mail='$usuario' and
					usua_pass='$pass'
					";
					$this->ejecutar_query_simple();
 
		}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Login con mysqli

Publicado por xve (6935 intervenciones) el 07/03/2014 19:40:14
Hola Andres, una manera muy simple, es con la función .done() de jquery. Algo así:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$("#aceptar").click(function(){
 
    var usuario = $("#usuario").attr("value");
    var pass =  $("#pass").attr("value");
    var datos = {usuario:usuario, pass:pass};
    $.ajax({
        type:"post",
        url:"login.class.php",
        data:datos,
        dataType:"html",
        success:function(result){
            document.location.href="index.php";
        }
    }).done(function(msg){
        alert(msg);
    })
});

Todo lo que devuelve la pagina login.class.php con los "echo" o código html, te los mostrara en un alert().

Esto se puede mejorar para devolver en formato json, pero para probar te servira.

Coméntanos si te sirve, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Login con mysqli

Publicado por andres (63 intervenciones) el 07/03/2014 19:58:03
no me funciono la verdad ni siquiera pasa le doy aceptar y vuelve a cargar la pagina de login no pasa de hay
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Login con mysqli

Publicado por xve (6935 intervenciones) el 08/03/2014 07:35:30
Hola Andres no lo entiendo, ya que no hay ningún submit en el formulario, no debería de actualizarte la página...

Lo he probado con tu código y a mi no se me actualiza:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<!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">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
        <title>login</title>
        <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
        <script language="javascript">
            $(document).ready(function(){
                $("#aceptar").click(function(){
                    var usuario = $("#usuario").attr("value");
                    var pass =  $("#pass").attr("value");
                    var datos = {usuario:usuario, pass:pass};
                    $.ajax({
                        type:"post",
                        url:"login.class.php",
                        data:datos,
                        dataType:"html",
                        success:function(result){
                            document.location.href="index.php";
                        }
                    }).done(function(msg){
                        alert(msg);
                    });
                    return false;
                });
            });
        </script>
 
    </head>
    <body>
        <div class="registro" >
            <a href="registrarse.php" >No tienes una cuenta?, Registrate ya</a>
        </div>
        <div class="lg-container">
            <h1>Iniciar Sesi&oacute;n</h1>
            <?php
                //si hay algún mensaje de error lo mostramos escapando los carácteres html
                if (!empty($mensaje)) echo('<h2>'.htmlspecialchars($mensaje).'</h2>');
            ?>
            <br>
            <form action="login.php" id="lg-form" name="lg-form" enctype="multipart/form-data" method="post">
                <label for="username">Usuario:</label>
                <input name="usuario" type="text" id="usuario" value="" size="20" maxlength="50" placeholder="username"/>
                <div>
                    <label>Contraseña:</label>
                    <input name="password" type="password" id ="pass" value="" size="20" maxlength="30" placeholder="password"/>
                </div>
                <div>
                    <center> <button id="aceptar"   name="aceptar">Aceptar </button> </center>
                </div>
            </form>
        </div>
    </body>
</html>

Puedes probarlo y comentarnos?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar