Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/07/2010, 09:25
easolano5
 
Fecha de Ingreso: abril-2010
Ubicación: Colombia - Barranquilla
Mensajes: 66
Antigüedad: 14 años, 1 mes
Puntos: 0
Problema al implementar funciones .js en html y php

Amigos tengo un problema con php y .js resulta que tengo un sistema de login, sencillo y me funciona sin implementar funciones en js pero cuando implemento estas funciones que solo son dos, validar si los campos se envían vacíos, entonces tengo un problema que no me envia los datos via POST como debería:

Esto es lo que tengo:

script funciones.js

Cita:
function validarlogin()
{
var form=document.form;
var ok1,ok2;
if(form.nombre.value==0)
{
//alert("El campo nombre est� vacio");
document.getElementById("div_usuario").innerHTML=" El campo Nombre está vacio";
form.nombre.value="";
form.nombre.focus();
return false;
}
else
{
document.getElementById("div_usuario").innerHTML=" ";
ok1=true;
}
if(form.password.value==0)
{
//alert("El campo Clave est� vacio");
document.getElementById("div_clave").innerHTML="El campo Clave está vacio";
form.password.value="";
form.password.focus();
return false;
}
else
{
document.getElementById("div_clave").innerHTML="";
ok2=true;
}
//Si todo esta bien se redirecciona al action
if(ok1==true && ok2==true)
{ window.location='login_es.php'; }

}
Este es el html

Cita:
<table width="270" border="0" cellpadding="0" cellspacing="0" align="center" class="Fuentes-Formularios">
<form name="form" method="post" action="login_es.php">
<tr>
<td width="70">Usuario:</td>
<td width="200" align="right"><input type="text" name="nombre">
<div id="div_usuario" class="fuenterror"></div>
</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td width="70">Clave:</td>
<td width="200" align="right">
<input type="password" name="password" />
<div id="div_clave" class="fuenterror"></div>
</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td colspan="2">
<input type="button" value="Ingresar" title="Ingresar" onClick="validarlogin();"/>
</td>
</tr>
</form>
</table>
y este es el script php:

Cita:
<?php
session_start();
require_once("conexion.php");

//************************************************** *************
//Preguntamos si el usuario existe en la base de datos
$sql="select nombre from usuarios_es
where
nombre='".$_POST["nombre"]."'";
$res=mysql_query($sql,$con);

if(mysql_num_rows($res)==0)
{
echo "<script type='text/javascript'>
alert('El usuario ".$_POST["nombre"]." no existe en la base de datos');
window.location='index.php';
</script>";
}
else
{ //************************************************** *********
// Ahora preguntamos si el login y password coniciden en la
// base de datos.

$consulta="select*from usuarios_es
where
nombre='".$_POST["nombre"]."'
and
password='".$_POST["password"]."'";
$resultado=mysql_query($consulta,$con);
if(mysql_num_rows($resultado)==0)
{
echo "<script type='text/javascript'>
alert('El usuario y el password ingresados no coinciden');
window.location='index.php';
</script>";
}
else
{
echo "<script type='text/javascript'>
alert('Bienvenido al sistema de gestion academica Helena, presione aceptar para ser redireccionado.');
window.location='/students/index.php';
</script>";
}
//************************************************** *********
}
?>
Nota: cuando quito la validación usando las funciones .js y reemplazo button por submit, me funciona todo, compruebo que los datos enviados por POST llegan al script php y funciona.

el script funciones.js esta aparte del index.php y del login_es.php lo que hago es llamar el script funciones.js desde el head del archivo index.php así:
<script type="text/javascript" languaje="javascript" src="js/funciones.js"></script>

¿Qué puede estar sucediendo?

Ah si hay errores en lo que he hecho como siempre por favor corrijanme.

Última edición por easolano5; 18/07/2010 a las 09:32