Estoy estableciendo un sistema de autentificación de usuarios en una web, lo típico, hacer una consulta a la base de datos y validarla si coincide usuario y contraseña. Además de eso a la vez que un usuario se conecta mediante AJAX quiero que me cambie un valor almacenado en una tabla en la BD que establezca simplemente un 1 en estado. Pues bien, esto nunca sucede...
Lo primero no hay problema, se conecta perfectamente, el problema viene cuando hago la llamada correspondiente a la función en javascript de AJAX. Os pongo código, a ver si me sabeis echar un cable y me sabeis decir.
Código PHP:
[...]
$consulta="Select count(usuario) as existe from autor where autor.usuario='".$_POST['nombre']."' and autor.pass='".md5($_POST['password'])."';";
$bd=new AgenteBD("localhost", "root", "", "blog");
$bd->Connect();
$resultado=$bd->Consulta($consulta);
$row = mysql_fetch_array($resultado);
if($row['existe']==1)
{
$log=$_POST['nombre'];
$estado=1;
$_SESSION['autor']=$log;
$_SESSION['usuariolog']=$log;
echo $log;
echo $estado;
echo" <script lenguage=\"text/javascript\">";
echo "conectarUsuario('$log', '$estado')";
echo "</script>";
}
Código Javascript:
Ver original
function conectarUsuario(nombre, stat) { //Si es firefox, chrome o similares if(window.XMLHttpRequest) { //Creamos una peticion para estos navegadores peticion_http = new XMLHttpRequest(); } //Si utilizamos Internet Explorer else if(window.ActiveXObject) { //Creamos la peticion para este navegador peticion_http = new ActiveXObject("Microsoft.XMLHTTP"); } // Preparar la funcion de respuesta, es decir, cuando realizamos una peticion, el objeto peticion_http, se queda peticion_http.onreadystatechange = muestraContenido; // Realizar peticion HTTP, especificamos mediante la funcion open, el metodo de transferencia de datos. GET //o POST, y la direccion a la que realizamos la peticion. peticion_http.open('GET', 'http://localhost/blog/public/serviciosAjax/actualizarEstado.php?usuario='+nombre+'&estado='+stat, true); //Decimosque no queremos hacer nada mas peticion_http.send(null);
Y finalmente el actualizarEstado.php:
Código PHP:
<?php
include_once("AgenteBD.php");
session_start();
$bd=new AgenteBD("localhost", "root", "", "blog");
$bd->Connect();
$consulta="Update estado set estado='".$_GET['estado']."' where codigoAutor='".$_GET['usuario']."'";
$bd->Consulta($consulta);
?>
A ver si me solucionais el problemilla con estas dos llamadas a conectarUsuario y actualizarEstado.
Edito: para aclarar, el problema viene que hace caso omiso de esas dos llamadas parece ser o que tengo algo mal en ellas que hace que no se ejecuten...
Gracias.