estas utilizando AJAX, por lo tanto
es inútil redireccionar con las cabeceras:
header("Location: http://www.google.com.ar/");
lo que debes hacer es
dumpear a la salida del script, algún valor que sea recibido por el XMLHttpRequest y así puedas compararlo con javascript, ejemplo:
Código PHP:
Ver original<?php
if(!isset($_SESSION['username'])){ if(isset($_POST['username'])){ $db = new mysqli("localhost", "username", "password", "bd");
$stmt = $db->prepare("SELECT username FROM users WHERE username = ? AND password = ?");
$stmt->bind_param('ss', $_POST['username'], $_POST['password']);
$stmt->execute();
$stmt->store_result();
if($stmt->num_rows() == 1){
$stmt->bind_result($username);
$stmt->fetch();
$_SESSION['username'] = $username;
echo "1"; //1 que si valida
//header("Location: http://www.google.com.ar/"); //con AJAX es inútil
}
}
echo "0"; //no valido
}
y en js:
Código Javascript
:
Ver original$(document).ready(function(){
$("#username").focus();
$("#submit").click(function(){
$.ajax({
url: "php/session.php",
cache: false,
type: "POST",
data: "username=" + $("#username").val() + "&password=" + $("#password").val(),
success: function(data){
if (data == '1') {
alert('success');
}else{
alert('NO valido');
}
},
error: function(){
$("#form").effect("shake", {times:2}, 100);
$("#errorMessage")
.css('margin', '30px 0 10px 9px')
.attr('class', 'ui-state-error')
.html('<strong>ERROR - </strong>Los datos ingresados son incorrectos');
}
});
});
});