Cuando acierta en los datos te redirecciona a otro lao, cuando no quiero cambiar las clases..lo tipico xD
Pues bien, os enseño mi codigo porque resulta q para q funcione bien tengo q cambiar el contenido del form, por la cara ya os digo, si no lko cambio no funciona
Código PHP:
<div id="login"><form id="login-f" onSubmit="envlogin()"><label>Correo:</label><input type="text" id="correo" class="input1"><br/><br/>
<label>Contraseña:</label><input type="password" id="pass" class="input1">
<button id="botonEnviar" onClick="envlogin()" type="submit"></button>
</form>
<span id="envloginImg"><img src="temas/original/iconos/loading.gif">Enviando...</span>
</div>
Código javascript:
Ver original
onload=function() { correo=document.getElementById("correo"); pass=document.getElementById("pass"); form=document.getElementById("login-f"); Cform=form.innerHTML; envio=document.getElementById("envloginImg"); urlp="funciones/proc-login.php"; } function nuevoAjax() { var xmlhttp=false; try { // No IE xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { // IE xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } catch(E) { xmlhttp=false; } } if (!xmlhttp && typeof XMLHttpRequest!="undefined") { xmlhttp=new XMLHttpRequest(); } return xmlhttp; } function envlogin() { envio.style.display="block"; mail=correo.value; passw=pass.value; form.style.display="none"; var ajax=nuevoAjax(); ajax.open("POST", urlp, true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("correo="+mail+"&pass="+passw); ajax.onreadystatechange=function() { if (ajax.readyState==4) { envio.style.display="none"; var respuesta=ajax.responseText; if(respuesta=="OK") { window.location.href="?sitio=panel"; } else { form.style.visibility="visible"; if(respuesta=="correo") {correo.className="error";} else {pass.className="error";} } } } }
procesador..
Código PHP:
<?php
session_start();
if ($_POST) {
include ('BD.php');
foreach($_POST as $clave => $valor) $$clave=addslashes(trim(utf8_decode($valor)));
$mail=mysql_escape_string($correo);
$passw=md5($pass);
$usu=mysql_query("SELECT `ID`,`Mail`,`Rango`, `Pass` FROM `Usuarios` WHERE `Usuarios`.`Mail`='$mail' LIMIT 1");
if ($Dusu=mysql_fetch_array($usu)) {
if ($passw==$Dusu[Pass]) {
$_SESSION[ID]=$Dusu[ID];
$_SESSION[Correo]=$Dusu[Mail];
$_SESSION[Rango]=$Dusu[Rango];
echo 'OK';
}
else { echo 'pass'; }
}
else { echo 'correo';}
}
?>
Posiblemente sea uan tonteria, pero es q me cansao de buscar. Ademas, este es mi primer script con Ajax, y bueno...alomejor estoy comentiendo fallos.
Por favor orientenme
gracias y salu2