Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/09/2015, 12:43
boistoc
 
Fecha de Ingreso: junio-2014
Mensajes: 60
Antigüedad: 10 años, 5 meses
Puntos: 0
Problema con header location PHP, AJAX y JSON

Hola Buenas tardes.
Miren tengo mi formulario de login y me va perfectamente, muestra los mensajes de error en caso de que así sea pero cuando los valores son correctos no me re-direcciona la pagina que debe de ser, así tengo mi código:

login.html
Código HTML:
Ver original
  1. <div id='login'>
  2.     <form action='' method='post' id='FLoginS'>
  3.         <input type='email' name='mail' placeholder='Email' id='mail'>
  4.         <input type='password' name='password' placeholder='Contraseña' id='password'>
  5.         <button type='submit' class='button'>Entrar</button>
  6.     </form>
  7. </div>

login.js
Código Javascript:
Ver original
  1. $("#FLoginS").submit(function(event){
  2.         event.preventDefault();
  3.         $.ajax({
  4.             url:'Login.php',
  5.             type:'POST',
  6.             dataType:'json',
  7.             data:$("#FLoginS").serializeArray()
  8.         }).done(function(Result){
  9.             if($("#mail").hasClass("error")) {
  10.                 $("#mail").removeClass("error");
  11.                 setTimeout(function() {
  12.                     $("#mail").addClass("error");
  13.                 },1);
  14.             }else {
  15.                 $("#mail").addClass("error");
  16.             }
  17.             if($("#password").hasClass("error")) {
  18.                 $("#password").removeClass("error");
  19.                 setTimeout(function() {
  20.                     $("#password").addClass("error");
  21.                 },1);
  22.             }else {
  23.                 $("#password").addClass("error");
  24.             }
  25.         });
  26.     });

Login.php
Código PHP:
Ver original
  1. <?php
  2.     session_start();
  3.     require 'Config.php';
  4.     $Result = new stdClass();
  5.    
  6.     if(isset($_POST['mail'], $_POST['password'])): 
  7.         $mail = $_POST['mail'];
  8.         $password = $_POST['password'];
  9.  
  10.         $Query_User = $Mysqli->query("SELECT Mail, Password FROM users WHERE Mail = '".$mail."'");
  11.         $lied = $Query_User->fetch_array();
  12.        
  13.         if($mail == NULL || $password == NULL):
  14.             $Result->Error = 'Has dejado algun campo en balnco.';
  15.         elseif($lied['Mail'] != $mail):
  16.             $Result->Error = 'Email incorrecto.';
  17.         elseif(!hash_equals($lied['Password'], crypt($password, $lied['Password']))):
  18.             $Result->Error = 'Contraseña incorrecta.';
  19.         else:
  20.             $_SESSION['mail'] = $lied['Mail'];
  21.             header('Location: '.$Path.'/principal');
  22.         endif;
  23.     endif;
  24. ?>
No se si sea error del PHP o del JS, ¿Pueden orientarme?
Gracias.
Pdta: No supe si debía colocar el post en esta sección o en otra, lamento eso.