Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/02/2013, 14:43
ecosysonidos
 
Fecha de Ingreso: julio-2011
Ubicación: donde me encuentre la noche
Mensajes: 140
Antigüedad: 13 años, 6 meses
Puntos: 3
Pregunta Redireccionar con php y ajax

resulta que tengo un pequeño inicio de sesion
ciertamente me funciona bien mi problema radica a la hora de redireccionar


con mi pagina de home.php

checo que el usuario no haya iniciado sesion, si ya inicio lo mandamos a welcome.php
el inicio de sesion lo hago sacando los datos desde mi base de datos con ajax y recibo respuesta sobre mi misma pagina home.php, mi problema radica que al iniciar sesion correctamente me tendria que redireccionar a welcome.php pero como el resultado es un header location obviamente no redirecciona porque la respuesta la recibo sobre ajax y por lo tanto no me redirecciona a welcome.php lo hace hasta que refresco la pagina

este es mi codigo
home.php
Código PHP:

<?php
error_reporting 
E_ERROR );
session_start();
if(!
$_SESSION["var_session"]=="")
header("Location:http://localhost/atlantis/welcome.php");
?>



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "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=utf-8" />
<title>INICIO DE SESIÓN</title>
</head>
<!-- estilos de pagina-->
<script  src="css/sesionadmin/sesionadmin.css" type="text/javascript"></script>
<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
<!-- validacion de sesion con ajax-->
<script>

function validar_email(valor){
        // creamos nuestra regla con expresiones regulares.
        var filter = /[\w-\.]{3,}@([\w-]{2,}\.)*([\w-]{2,}\.)[\w-]{2,4}/;
        // utilizamos test para comprobar si el parametro valor cumple la regla
        if(filter.test(valor))
            return true;
        else
            return false;
    }

/*email*/
        
function realizaProceso(user, pass){
        var parametros = {
                "user" : user,
                "pass" : pass
        };
        
            if(user==""){
            alert ("Debes Ingresar Tu Usuario");
            $('#user').focus();
            }else
            if(!validar_email($("#user").val())){
                alert("Usuario No Valido");
                 $('#user').focus();
             }else
            /*password*/
            if(pass==""){
            alert("Debes Ingresar el Password");
                 $('#pass').focus();
            
            }else
        $.ajax({
                data:  parametros,
                url:   'php/sesionadmin/sesionadmin.php',
                type:  'post',
                beforeSend: function () {
                        $("#result").html("Procesando, espere por favor...");

               },

               success:  function (response) {
                      $("#result").html(response);
                                          
                
        }        
        });
}

</script>

<body>
<div id='result'></div>
<div id='response'>Usuarios Nuevos</div>
<form id="form1" name="form1" method="post" action="">
  <table width="278" border="0">
    <tr>
      <td colspan="4">&nbsp;</td>
    </tr>
    <tr>
      <td width="14">&nbsp;</td>
      <td width="63" align="right">Usuario:</td>
      <td width="162" align="left"><label for="user"></label>
      <input type="text" name="user" id="user" /></td>
      <td width="21">&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td width="63" align="right">Password:</td>
      <td align="left"><label for="pass"></label>
      <input type="password" name="pass" id="pass"  /></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td><input type="button" href="javascript:;" onclick="realizaProceso($('#user').val(), $('#pass').val());return false;" value="Inicio de Sesion"/></td>
      <td>&nbsp;</td>
    </tr>
  </table>
</form>
<div id="result"></div>
</body>
</html>
con ajax mando mis datos a php/sesionadmin/sesionadmin.php que es la que se encarga de berificar en la BDD si el usuario esta o no en nuestra BDD y asi pueda iniciar sesion

sesionadmin.php
Código PHP:

<?php 
error_reporting 
E_ERROR );
include(
"../../BDD/bdd.php");

$user=$_POST['user'];
$pass=$_POST['pass'];

$verificar_emaypass=mysql_query("SELECT USER, PASS from sesion WHERE USER='$user' and PASS='$pass'");
$emailypass_rows=mysql_num_rows($verificar_emaypass);
if(
$emailypass_rows==0){
echo 
"<div id='resultado'>¡Usuario o Password INCORRECTOS, verifica tu información!</div>";
}
else{
    
    
session_start();
$_SESSION["var_session"]=$user;
header("Location:welcome.php");
}
?>
dependiendo de el resultado de esto redirecciona o no, obvio me funciona sin ajax pero supongo que es por el header que recibe como respuesta que no funciona

pero no se como mandarle un parametro a mi ajax que al ser exitoso el inicio de sesion lo reciba y me mande a welcome.php

agradezco la ayuda saludos