Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Formulario y validacion

Estas en el tema de Formulario y validacion en el foro de Frameworks JS en Foros del Web. Hola!! Haber si alguien puede orientarme un poquillo. Yo tengo un formulario que consiste en cambiar unos datos de una bd. Este formulario lo valido ...
  #1 (permalink)  
Antiguo 30/10/2007, 17:45
 
Fecha de Ingreso: septiembre-2007
Mensajes: 234
Antigüedad: 16 años, 7 meses
Puntos: 1
Pregunta Formulario y validacion

Hola!!
Haber si alguien puede orientarme un poquillo.
Yo tengo un formulario que consiste en cambiar unos datos de una bd. Este formulario lo valido llamando a una funcion "validaForm()" que se encuentra en un archivo .js y q mira que los datos no estén vacios.

Pues bien mi problema es que quiero comprobar que el nombre, el login actual y el password actual están en la BD, para asi modificar sus datos con los nuevo que se introducen.
Si los datosn no están, me devuelve un mensaje de error. Pero quiero que ese mensaje de error me aparezca en la misma página del formulario y asi volver a meter de nuevo los datos.
Os pego el código haber si alguien puede ayudarme.El código en rojo es donde tengo la duda.
+++Gracias


<form name="form2" action="admodificarusuario1.php" method="post">
Nombre del usuario:<input type="text" name="nombre" /><br /><br />
Login actual:<input type="text" name="login" /><br /><br />
Password actual:<input type="password" name="pass" /><br /><br />
Password nuevo:<input type="password" name="pass1" /><br /><br />
<p align = "center">
<button id="botonModificar" onClick="validaForm()" type="button">Modificar</button>
</p>
<br /> </form>


FICHERO "admodificarusuario1.php"
<?php
session_start();
include "conn.inc.php";

$consulta= "SELECT * FROM usuario WHERE nombre = '" . $_POST['nombre'] . "'AND login= '" . $_POST['login'] . "' AND pass= '" . $_POST['pass'] . "';";
$resultado= mysql_query($consulta) or die(mysql_error());
if(mysql_num_rows($resultado) != 0)
{
$consulta_actu= "UPDATE usuario SET nombre = '" . $_POST['nombre'] . "', login= '" . $_POST['login1'] . "', pass= '" . $_POST['pass1'] . "'
WHERE login = '" . $_POST['login']. "' AND pass = '" . $_POST['pass'] . "';";
$resultado_actu= mysql_query($consulta_actu) or die(mysql_error());
header("Location:admodificarusuario.php");
}
else
echo "<img src='error.gif' alt='". $search ." MAL' width='20'> <span style='color:red;'>El login no coincide con el password </span>";
?>
  #2 (permalink)  
Antiguo 30/10/2007, 21:25
 
Fecha de Ingreso: octubre-2007
Mensajes: 36
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Formulario y validacion

Pues no tengo mucha experiencia con AJax pero creo que no esta muy dificil hacer esto.

Una forma rapida y por la manera en que tienes tu codigo sería hacer una función que haga una peticion AJAX a un script PHP, para que asi valide los datos.
Esto sería, en tu validación de datos vacios, metes esa función que te retorne un valor booleano, para que lo regreses al submit :D

Ahora, no se como explicarte la función porque no se si haz manejado AJAX (supongo que estando en este foro, asi lo intentas hacer).

Utilizando AJAX puedes generar la respuesta sin que cambies de pagina y dejes el formulario tal cual esta.

Comenta si ya tienes algo de AJAX, si no para empezar a hacerlo desde el principio.

Saludos!!!
  #3 (permalink)  
Antiguo 31/10/2007, 07:13
 
Fecha de Ingreso: septiembre-2007
Mensajes: 234
Antigüedad: 16 años, 7 meses
Puntos: 1
Pregunta Re: Formulario y validacion

Hola: Si. Lo q tengo hecho de AJAX es esto:

function createRequestObject(){
var peticion;
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer"){
peticion = new ActiveXObject("Microsoft.XMLHTTP");
}else{
peticion = new XMLHttpRequest();
}
return peticion;
}
var http = new Array();
function ObtDatos(url){
var act = new Date();
http[act] = createRequestObject();
http[act].open('get', url);
http[act].onreadystatechange = function() {
if (http[act].readyState == 4) {
if (http[act].status == 200 || http[act].status == 304) {
var texto
texto = http[act].responseText
var DivDestino = document.getElementById("DivDestino");
DivDestino.innerHTML = "<div id='error'>"+texto+"</div>";
}
}
}
http[act].send(null);
}
function compUsuario(Tecla) {
Tecla = (Tecla) ? Tecla: window.event;
input = (Tecla.target) ? Tecla.target :
Tecla.srcElement;
if (Tecla.type == "blur") {
var DivDestino = document.getElementById("DivDestino");
DivDestino.innerHTML = "<span></span>";
if (input.value) {
ObtDatos("comprobar.php?q=" + input.value);
}
}
}



Pero el problema q tengo es q no sé como hacer, xa que cuando se pulse el boton de "Modificar", haga las dos cosas( es decir que se llame a la funcion de ValidarForm, q valida q los campos xa q no sean vacios, y q tb se llame a la fucnion compUsuario(Tecla), en la que s ejecuta tb el archivo "comprobar.php", q es el que muestra el mesaje de error si los datos no se encuentran en la BD)
El formulario es :
<form name="form1" action="comprobar.php" method="post">
AQUI TIENE QUE APARECER EL MENSAJE DE ERROR

<blockquote>
<center>
Nombre:&nbsp;&nbsp;&nbsp;<input type="text" name="login" /><br /><br />
Password:&nbsp;<input type="password" name="pass" /><br /><br />
<div>
<button id="aceptar" onClick=" vprincipal()" type="button">Aceptar</button>

</div>
</center>

</blockquote>
</form>



Es en AQUI TIENE QUE APARECER EL MENSAJE DE ERROR donde estoy intentando que me aparezca el mensaje de error +++GRACIAS

Última edición por Carol_84; 31/10/2007 a las 07:25
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:54.