12/12/2010, 11:51
|
| | Fecha de Ingreso: diciembre-2008
Mensajes: 38
Antigüedad: 16 años Puntos: 0 | |
Respuesta: Sesión con jQuery, PHP y base de datos Cita:
Iniciado por maycolalvarez estas utilizando AJAX, por lo tanto es inútil redirecconar 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'); } }); }); });
Muchísimas gracias maycolalvarez! Ya funciona!
Y gracias por avisarme lo del header, ahora aprendí algo nuevo |