Bueno, me he recién metido hoy con ajax por lo que no se mucho..pero tengo muchos problemas para arrancar un code, lo que quiero es validar un usuario, y el procedimiento esta en 3 paginas.
A ver si alguien sabe decirme porque me falla el codigo, el problema esta en que no me devuelve ni Si ni No segun si la identificación és o no correcta, en FireFox no me funciona :S, el procedimiento que me hace es como si validara los datos pero me recarga la web a la inicial, como si iciera un Location() en php no se si me explico. Antes me funcionaba pero cambie algunas cosillas y no tengo narices de volver al estado en el que estaba en que, como minimo en IE me funcionaba :S. Las 3 paginas con su codigo:
login.php (aqui se rellena el formulario para ingresar como usuario)
Código:
<?php
if(!isset($_GET['admin']) && $_GET['admin'] != 'log')
{
header("Location: ../../index.php");
}
?>
<script type="text/javascript" src="ajax.js"></script>
<div align="center">
<strong>Identificació</strong>
<br>
<div id="error" align="center" style="color:#FF0000;"></div>
<form method="post" onsubmit="validaradmin()" action="#">
<div align="left"> <strong>Usuari: </strong><input id="asunto" name="asunto" type="text" size="25" maxlength="30"><br>
<strong>Contrasenya: </strong><input id="asunto" name="password" type="password" size="25" maxlength="25"></div>
<input type="submit" value="Enviar">
<input type="submit" value="Cancelar">
</form>
</div>
ajax.js (el code de ajax)
Código:
function iniciar() {
try {
iniciar = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
iniciar = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
iniciar = false;
}
}
if (!iniciar && typeof XMLHttpRequest!='undefined') {
iniciar= new XMLHttpRequest();
}
return iniciar;
}
function validaradmin() {
error = document.getElementById("error");
pass = document.getElementById("asunto");
user = document.getElementById("password");
_objetus=iniciar() //crear objeto
_values_send="user="+user+"&password="+pass //variables
_URL_="Admin/Log/identificar.php?" //URL
_objetus.open("POST",_URL_,true); //abrir procesador
_objetus.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
//cabeceras POST
_objetus.send('&'+_values_send); //enviar variables
_objetus.onreadystatechange=function() { //funcion controlador
if (_objetus.readyState==4) //control de estados del proceso
{
//si se da un status 200 (TERMINADO CON EXITO)
if(_objetus.status==200)
{
if(_objetus.responseText == 'No')
{
error.innerHTML = "Identificació incorrecte";
}
else
{
error.innerHTML = "Identificació correcte";
}
}
}
}
}
identificar.php (esta parte se encarga de validar si el usuario existe o no y responder segun su existència)
Código:
<?php
include("../../conectar.php");
$query = mysql_query("SELECT * FROM admin WHERE admin='".sha1(md5($_POST['user']))."' and pass='".sha1(md5($_POST['password']))."'");
$num = mysql_num_rows($query);
if($num <= 0)
{
echo "No";
}
else
{
echo "Si";
}
mysql_close($link);
?>
Gracias de adelanto