el problema es:
tengo una pagina donde los usuarios se van a loguear en realidad consiste de 3 paginas
1 login.php donde se encuentra el formulario
2 funcionLogin.js donde se encuentran las funciones de ajax
3 loguinCheck.php donde se hace un query con los datos en viados por formularios y se debuelve la respuesta a funcionLoguin.js para mostrar en la web los resultados.
funciona todo a la perfeccino hasta que se me ocurrio hacer un switch para que muestre un cartel con los errores si es ke los hay y la verdad no entiendo porke pero en ves de mostrar el cartel con el error me muestra el texto con la variable del error.
les adjunto los codigos fuentes a ver si alguien me puede dar una mano .
gracias!"!!
soy re mil re novato y estos codigos los hise leyendo un poco de aui otro de aya y otro de mas aya asi ke traten de explicarse como si yo tubiera 5 años!! jaja gracias.
loguin.php
Código PHP :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <!-- Design J R Solutions http://www.jrsolutions.com.ar vercion 4 --> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta name="Huayra Muyoj on-line" content="" /> <meta name="description" content="" /> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>Huayra Muyoj On-Line</title> <link href="estilo.css" rel="stylesheet" type="text/css" media="screen" /> <script type="text/javascript" src="templates/funcionLogin.js"></script> <!-- @global --> <div id="global"> <div id="menu"> <ul> <li><a href="index.php">Home</a></li> <li><div id="espaciomenu"></div></li> <li class="current_page_item"><a href="quienes.php">Quienes Somos</a></li> <li><div id="espaciomenu"></div></li> <li><a href="curriculum.php">Curriculum</a></li> <li><div id="espaciomenu"></div></li> <li><a href="giras.php">Giras</a></li> <li><div id="espaciomenu"></div></li> <li><a href="galeria.php">Galeria de Imagenes</a></li> <li><div id="espaciomenu"></div></li> <li><a href="noticias.php">Noticias</a></li> <li><div id="espaciomenu"></div></li> <li><a href="foros.php">Foros</a></li> <li><div id="espaciomenu"></div></li> <li><a href="contacto.php">Contacto</a></li> <li><div id="espaciomenu"></div></li> <li><a href="login.php">Registrate</a></li> </ul> </div> <!-- end #menu --> <!-- espacio --> <div style="clear: both;"> </div> <!-- end espacio--> <!-- Header --> <div id="header"> </div> <!-- end header --> <!-- recuadro contenedor --> <div id="contenedor"> <div class="post"> <h1 align="center">TALLER DE DANZAS NATIVAS “HUAYRA MUYOJ”</h1> <h2 align="center">PANEL DE USUARIOS</h2> </div> <div id="centrarContacto"> <?php echo"<div id=\"centrar1\">"; if(isset($HTTP_COOKIE_VARS["Nick"])!= false){ include('templates/inc.coneccion.php'); $nickN = $HTTP_COOKIE_VARS['Nick']; $passN = $HTTP_COOKIE_VARS['Pass']; $sql = "SELECT *, DATE_FORMAT(u_fecha, '%d/%m/%Y') as u_fecha FROM usuarios WHERE u_nick='$nickN' and u_password='$passN'"; $rs = mysql_query($sql, $conect); if(mysql_num_rows($rs)>0){ $row = mysql_fetch_assoc($rs); echo" <div id=\"cuadroUsuario\"> <div class=\"cuadroUsuarioFoto\"><img src=\"imagen/huayra.gif\" alt=\"\" width=\"97\" height=\"92\" border\"0\"/></div> <div class=\"cuadroUsuarioTitulo\">".utf8_encode($row['u_nick'])."</div> <div class=\"cuadroUsuarioTexto\">".utf8_encode($row['u_nombre'])." ".utf8_encode($row['u_apellido'])."<br /><br />Usuario desde el:<br />".utf8_encode($row['u_fecha'])."</div> </div>"; }else{ echo"Error de coneccion..."; echo" <a href=\"login.php\">reitentar...</a>"; } echo"</div>"; }else{ ?> <!-- funcion enviar formulario ajax --> <div id="centrar1"> <div id="formContenedor"> <form id="formLogin"> <style> #transparencia{ height:100px; } </style> <div id="transparencia"> <div id="transparenciaMensaje"></div> </div> <table> <tbody> <tr> <td class="label">Nick</td> <td class="campo"><input class="inputNormal" type="text" id="inputNick"></td> <td class="ayuda"><img src="ayuda.gif" alt="Ayuda" onmouseover="muestraAyuda(event, 'Nick')"></td> </tr> <tr> <td class="label">Contraseña</td> <td class="campo"><input class="inputNormal" type="password" id="inputPass"></td> <td class="ayuda"><img src="ayuda.gif" alt="Ayuda" onmouseover="muestraAyuda(event, 'Pass')"></td> </tr> </tr> </tbody> </table> <br> <div> <button id="botonEnviar" onClick="validaForm()" type="button">Ingresar</button> <button type="reset">Borrar</button> </div> </form> </div> <!-- Capa para mostrar los mensajes de ayuda al presionar los iconos correspondientes --> <div id="mensajesAyuda"> <div id="ayudaTitulo"></div> <div id="ayudaTexto"></div> </div> </div></div> <? } ?> <div style="clear": both;\> </div> </div> <div id="pie"> </div> </div> <!-- end #golbal --> </div> <div style="clear: both;"> </div> <div id="piedepagina"> <p>Copyright (c) 2010 Huayra Mulloj On-Line All rights reserved. Design by <a href="http://jrsolutions.com.ar/">J. R. Solutions</a>.</p> </div> <!-- end #footer --> </body> </html>
funcionLogin.js
Código Javascript :
// Variables para setear onload=function() { cAyuda=document.getElementById("mensajesAyuda"); cNombre=document.getElementById("ayudaTitulo"); cTex=document.getElementById("ayudaTexto"); divTransparente=document.getElementById("transparencia"); divMensaje=document.getElementById("transparenciaMensaje"); form=document.getElementById("formLogin"); urlDestino="loginCheck.php"; claseNormal="input"; claseError="inputError"; ayuda=new Array(); ayuda["Nick"]="Ingresa tu nombre de usuario. OBLIGATORIO"; ayuda["Pass"]="Ingresa tu contraseña. OBLIGATORIO"; preCarga("ok.gif", "loading.gif", "error.gif"); } function preCarga() { imagenes=new Array(); for(i=0; i<arguments.length; i++) { imagenes[i]=document.createElement("img"); imagenes[i].src=arguments[i]; } } 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 campoError(campo) { campo.className=claseError; error=1; } function ocultaMensaje() { divTransparente.style.display="none"; } function muestraMensaje(mensaje) { divMensaje.innerHTML=mensaje; divTransparente.style.display="block"; } function eliminaEspacios(cadena) { // Funcion para eliminar espacios delante y detras de cada cadena while(cadena.charAt(cadena.length-1)==" ") cadena=cadena.substr(0, cadena.length-1); while(cadena.charAt(0)==" ") cadena=cadena.substr(1, cadena.length-1); return cadena; } function validaLongitud(valor, permiteVacio, minimo, maximo) { var cantCar=valor.length; if(valor=="") { if(permiteVacio) return true; else return false; } else { if(cantCar>=minimo && cantCar<=maximo) return true; else return false; } } function validaForm() { // limpiaForm(); error=0; var Nick=eliminaEspacios(form.inputNick.value); var Pass=eliminaEspacios(form.inputPass.value); if(!validaLongitud(Nick, 0, 4, 50)) campoError(form.inputNick); if(!validaLongitud(Pass, 0, 4, 50)) campoError(form.inputPass); if(error==1) { var texto="<img src='error.gif' alt='Error'><br>Error: revise los campos en rojo.<br><button style='width:45px; height:18px; font-size:10px;' onClick='ocultaMensaje()' type='button'>Ok</button>"; muestraMensaje(texto); } else { var texto="<img src='loading.gif' alt='Enviando'><br>Enviando. Por favor espere.<br><button style='width:60px; height:18px; font-size:10px;' onClick='ocultaMensaje()' type='button'>Ocultar</button>"; muestraMensaje(texto); var ajax=nuevoAjax(); ajax.open("POST", urlDestino, true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("Nick="+Nick+"&Pass="+Pass); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ <!-- es aqui donde tengo los problemas porke en vez de hacer el switch y mostrar el mensaje de la variable texto me muestra el contenido de la variable respuesta var respuesta=ajax.responseText switch(respuesta){ case "nick_no_existe" : var texto="<img src='../error.gif'><br><br>Error: el Nick es incorrecto.<br><br><button style='width:45px; height:18px; font-size:10px;' onClick='ocultaMensaje()' type='button'>Ok</button>"; muestraMensaje(texto); break; case "pass_incorrecto": var texto="<img src='../error.gif'><br><br>Error: La contraseña es incorecta.<br><br><button style='width:45px; height:18px; font-size:10px;' onClick='ocultaMensaje()' type='button'>Ok</button>"; muestraMensaje(texto); break; case "faltan_datos": var texto="<img src='../error.gif'><br><br>Error: Faltan daos po favor reintente....<br><br><button style='width:45px; height:18px; font-size:10px;' onClick='ocultaMensaje()' type='button'>Ok</button>"; muestraMensaje(texto); break; case "error_conecion": var texto="<img src='../error.gif'><br><br>Error: Problemas de conecion, reintente....<br><br><button style='width:45px; height:18px; font-size:10px;' onClick='ocultaMensaje()' type='button'>Ok</button>"; muestraMensaje(texto); break; default: ocultaMensaje(); document.getElementById("centrar1").innerHTML = ajax.responseText; break; } } } } } // Mensajes de ayuda if(navigator.userAgent.indexOf("MSIE")>=0) navegador=0; else navegador=1; function colocaAyuda(event) { if(navegador==0) { var corX=window.event.clientX+document.documentElement.scrollLeft; var corY=window.event.clientY+document.documentElement.scrollTop; } else { var corX=event.clientX+window.scrollX; var corY=event.clientY+window.scrollY; } cAyuda.style.top=corY+20+"px"; cAyuda.style.left=corX+15+"px"; } function ocultaAyuda() { cAyuda.style.display="none"; if(navegador==0) { document.detachEvent("onmousemove", colocaAyuda); document.detachEvent("onmouseout", ocultaAyuda); } else { document.removeEventListener("mousemove", colocaAyuda, true); document.removeEventListener("mouseout", ocultaAyuda, true); } } function muestraAyuda(event, campo) { colocaAyuda(event); if(navegador==0) { document.attachEvent("onmousemove", colocaAyuda); document.attachEvent("onmouseout", ocultaAyuda); } else { document.addEventListener("mousemove", colocaAyuda, true); document.addEventListener("mouseout", ocultaAyuda, true); } cNombre.innerHTML=campo; cTex.innerHTML=ayuda[campo]; cAyuda.style.display="block"; }
loginCheck.php
Código PHP :
<? ob_start(); //esto es para habilitar el buffer de salida. Esto para poder enviar las cookies al navegador sin que te marque error include('templates/inc.coneccion.php'); function quitar($mensaje) { $mensaje = str_replace("<","<",$mensaje); $mensaje = str_replace(">",">",$mensaje); $mensaje = str_replace("\'","'",$mensaje); $mensaje = str_replace('\"',""",$mensaje); $mensaje = str_replace("\\\\","\",$mensaje); return $mensaje; } echo"<div id=\"centrar1\">"; if(trim($HTTP_POST_VARS["Nick"]) != "" && trim($HTTP_POST_VARS["Pass"]) != "") { $nickN = quitar($HTTP_POST_VARS['Nick']); $passN = quitar($HTTP_POST_VARS['Pass']); $sql = "SELECT u_password FROM usuarios WHERE u_nick='$nickN'"; $rs = mysql_query($sql, $conect); if($row = mysql_fetch_array($rs)) { if($row["u_password"] == $passN) { setcookie("Nick",$nickN); setcookie("Pass",$passN); $sql = "SELECT *, DATE_FORMAT(u_fecha, '%d/%m/%Y') as u_fecha FROM usuarios WHERE u_nick='$nickN' and u_password='$passN'"; $rs = mysql_query($sql, $conect); if(mysql_num_rows($rs)>0){ $row = mysql_fetch_assoc($rs); echo" <div id=\"cuadroUsuario\"> <div class=\"cuadroUsuarioFoto\"><img src=\"imagen/huayra.gif\" alt=\"\" width=\"97\" height=\"92\" border\"0\"/></div> <div class=\"cuadroUsuarioTitulo\">".utf8_encode($row['u_nick'])."</div> <div class=\"cuadroUsuarioTexto\">".utf8_encode($row['u_nombre'])." ".utf8_encode($row['u_apellido'])."<br /><br />Usuario desde el:<br />".utf8_encode($row['u_fecha'])."</div></div>"; }else{ echo"error_conecion"; } }else{ echo"pass_incorrecto"; } }else{ echo"nick_no_existe"; } mysql_free_result($rs); }else{ echo"faltan_datos"; } mysql_close(); ob_end_flush(); //esto va para poder enviar headers al navegador sin tener problemas ?>