Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Login con php y ajax

Estas en el tema de Login con php y ajax en el foro de Frameworks JS en Foros del Web. Saludos... tengo un problemo con lo siguiente: quiero hacer un login con php y ajax, usando una base datos, si el usuario y password no ...
  #1 (permalink)  
Antiguo 16/03/2010, 13:42
 
Fecha de Ingreso: marzo-2010
Mensajes: 20
Antigüedad: 14 años, 1 mes
Puntos: 0
Login con php y ajax

Saludos...
tengo un problemo con lo siguiente: quiero hacer un login con php y ajax, usando una base datos, si el usuario y password no estan en la base me debe salir "No estas en la base datos", hasta ahi todo bien pero si estan debe cargarse una nueva pagina, si pongo header("location:pagina.php") se me carga la pagina en el div, con el cuadro de login. Como hago para que me redireccione a una pagina nueva aqui esta el codigo...

<?php
include('conexion.inc.php');

if(isset($_POST["ingreso"]) and isset($_POST["ingreso2"]) )
{$valor=$_POST["ingreso"];
$valor2=$_POST["ingreso2"];
$link = Conectarse();
$consulta=mysql_query("SELECT * FROM usuario WHERE nombre='$valor' and password='$valor2'") or die(mysql_error());
$registro=mysql_fetch_row($consulta);

if(!$registro) {
echo "No estas en la base de datos";
}
else
{
Se debe redireccionar una pagina nueva
//header("Location:pagina.php");

}
mysql_close($link);
}
?>

el index.js es:
<
function nuevoDato()
{

var Mens=document.getElementById("mens");
var inputIngreso=document.getElementById("input_1");
var inputIngreso2=document.getElementById("input_2");
var boton=document.getElementById("boton_1");
var valor=inputIngreso.value;
var valor2=inputIngreso2.value;


// Limpio posibles mensajes que haya en el div
Mens.innerHTML="";

// Saco los espacios en blanco al comienzo y al final de la cadena
valor=eliminaEspacios(valor);

// Valido con una expresion regular el contenido de lo que el usuario ingresa
var reg=/(^[a-zA-Z0-9.@ ]{1,40}$)/;
if((!reg.test(valor))||(!reg.test(valor2)))
{
Mens.innerHTML="Ingresa tu nombre de usuario y contraseña";

}
else
{


// Deshabilito el boton y el input para evitar dobles ingresos
boton.disabled=true;inputIngreso.disabled=true; inputLista.disabled=true;
inputIngreso.value="Ingresando...";

var ajax=nuevoAjax();
ajax.open("POST", "index_proceso.php", true);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.send("ingreso="+valor+"&ingreso2="+valor2);


ajax.onreadystatechange=function()
{
if (ajax.readyState==4)
{
// Borro el contenido del input
inputIngreso.value="";
// Habilito campos y boton nuevamente
boton.disabled=false; ;inputIngreso.disabled=false; inputLista.disabled=false;
Mens.innerHTML=ajax.responseText;
}

}
}
}>
  #2 (permalink)  
Antiguo 16/03/2010, 14:56
Avatar de zerpico_01  
Fecha de Ingreso: enero-2008
Ubicación: Wilde - Avellaneda -
Mensajes: 421
Antigüedad: 16 años, 3 meses
Puntos: 13
Respuesta: Login con php y ajax

prueba asi

Código PHP:
<?php
include('conexion.inc.php');

if(isset(
$_POST["ingreso"]) and isset($_POST["ingreso2"]) )
{
$valor=$_POST["ingreso"];
$valor2=$_POST["ingreso2"];
$link Conectarse();
$consulta=mysql_query("SELECT * FROM usuario WHERE nombre='$valor' and password='$valor2'") or die(mysql_error());
$registro=mysql_fetch_row($consulta);

if(!
$registro) {
echo 
"No estas en la base de datos";
}
else
{
//Se debe redireccionar una pagina nueva
 
echo "<script type=\"text/javascript\"> 

window.location=\"pagina.php\"; 

</script> "
;

}
mysql_close($link);
}
?>
saludos
  #3 (permalink)  
Antiguo 16/03/2010, 15:44
 
Fecha de Ingreso: marzo-2010
Mensajes: 20
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Login con php y ajax

No sucede nada ...
  #4 (permalink)  
Antiguo 16/03/2010, 17:13
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: Login con php y ajax

Lo que pasa es que tu tiienes que mandarle un mensaje al objeto ajax para indicarle de que tu proceso en el servidor ha funcionado, entonces debes hacer esto:

Código PHP:

if(!$registro) { 
echo 
"No estas en la base de datos"

else 

//Se debe redireccionar una pagina nueva 
 
echo "mensajito";

Dicho "mensajito" es el indicador que sera enviado como responseText a tu funcion ajax... y desde ahi puedes hacer un redireccionamiento:

Código:
if (ajax.readyState==4)
{
// Borro el contenido del input
inputIngreso.value="";
// Habilito campos y boton nuevamente
boton.disabled=false; ;inputIngreso.disabled=false; inputLista.disabled=false;
Mens.innerHTML=ajax.responseText;

     if(ajax.responseText == "mensajito") {
          window.location='pagina.php'; 
     }

}
__________________
Quitenme la vida pero no la bebida.
  #5 (permalink)  
Antiguo 16/03/2010, 19:19
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Tema movido desde PHP a AJAX
  #6 (permalink)  
Antiguo 17/03/2010, 11:19
 
Fecha de Ingreso: marzo-2010
Mensajes: 20
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Login con php y ajax

Cita:
Iniciado por cesarpunk Ver Mensaje
Lo que pasa es que tu tiienes que mandarle un mensaje al objeto ajax para indicarle de que tu proceso en el servidor ha funcionado, entonces debes hacer esto:

Código PHP:

if(!$registro) { 
echo 
"No estas en la base de datos"

else 

//Se debe redireccionar una pagina nueva 
 
echo "mensajito";

Dicho "mensajito" es el indicador que sera enviado como responseText a tu funcion ajax... y desde ahi puedes hacer un redireccionamiento:

Código:
if (ajax.readyState==4)
{
// Borro el contenido del input
inputIngreso.value="";
// Habilito campos y boton nuevamente
boton.disabled=false; ;inputIngreso.disabled=false; inputLista.disabled=false;
Mens.innerHTML=ajax.responseText;

     if(ajax.responseText == "mensajito") {
          window.location='pagina.php'; 
     }

}
creo que la comparacion esta mal hecha, no me sale, si le pongo un else si me direccina a otra pagina
if(ajax.responseText == "mensajito") {
window.location='pagina.php';
}
else {
window.location='pagina2.php';
}
como hago para comparar en el php si esta <echo "mensajito"; >
  #7 (permalink)  
Antiguo 18/03/2010, 04:36
 
Fecha de Ingreso: julio-2008
Mensajes: 3
Antigüedad: 15 años, 9 meses
Puntos: 1
De acuerdo Respuesta: Login con php y ajax

Para que referencie a otra pagina debe ser asi:

$im = '
<script>
window.location.href="pagina2.php"
</script>
';
print $im;

SUERTE!!!
  #8 (permalink)  
Antiguo 19/03/2010, 11:21
 
Fecha de Ingreso: marzo-2010
Mensajes: 20
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Login con php y ajax

No me direcciona a otra pagina....

Etiquetas: ajax, login, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:56.