Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-02-2007
[David] David is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Málaga
Posts: 417
Poder: 22
David Va por buen camino
Smile Me he atascado en el siguiente código

Quiero tener un formulario , con dos edits , donde el usuario pone su clave y si esta es correcta , inicia una sesión en otro formulario y sino le sale que su clave no es correcta .

El nombre del usuario y la clave , estan en una base de datos mysql.

Así pues , tengo algo así :
Código:
// por arriba la función javaScript
<script language="JavaScript">
	function checkear(num){
		if (num == 0) {
		alert("Debes de escoger una opción");
		window.document.forms[0].action = "";
		}
	}
</script>

// los text y el formulario
form method="post" action="formulario2.php"></b>
	<input type="text" name="usuario" ">
	<input type="text" name="clave">
	
<input type="submit" value="Enviar" onclick="checkear('.<?comprobar(no se que ponerle aquí) ?>.')">
// más abajo , el php

Código PHP:
<?php
function comprobar($usuario,$clave){
 
$consulta ='select * from clientes where usuario ='.$usuario.' and clave = '.$clave;
$query mysql_query($consulta,$db);
$numtotal mysql_num_rows($query);
return 
$numtotal;
}

más o menos este es el código , quiero que al poner en los edits , el nombre y usuario , al darle al botón enviar , lo compruebe en la base de datos de mysql y si no son correctos , pues no vaya a la siguiente página y le salga algún tipo de advertencia con que no ha introducido los datos correctamente.

Saludos

Última edición por kayetano fecha: 25-02-2007 a las 21:53:41.
Responder Con Cita
  #2  
Antiguo 25-02-2007
[kayetano] kayetano is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Elche
Posts: 644
Poder: 22
kayetano Va por buen camino
Hola

Cita:
<input type="submit" value="Enviar" onclick="checkear('.<?comprobar(no se que ponerle aquí) ?>.')">
lo primero es que no puedes poner nada en PHP (lo digo por las marcas <? ... ?>).
Lo que no tengo claro es ¿que quieres validar? osea ¿que condiciones debe cumplir tu formulario para que sea correcto?
Por lo general lo único de quebes comprobar es que se haya introducido un texto en los dos campos, esta comprobación es muy simple:
Código:
<script language="JavaScript">
	function checkear(miform){
		if (miform.usuario.value== "" || miform.clave.value=="") {
		   alert("Debes indicar un nombre de usuario y una clave");
		   return false;
		} else {
                   return true;
                }
	}
</script>
...
<input type="submit" value="Enviar" onclick="return checkear(this.form)">
Despues simplemente tienes que comprobar en tu base de datos que la clave y el usuario sean correctos.
Solo tienes que tener en cuenta un par de cosas, primero que cuides que no haya una inyección de código malicioso en los campos usuario y clave. Y segundo (solo para españa) que según la ley española de protección de datos, la contraseña debe estar encriptada (al menos es lo que tengo yo entendido), aún así siempre es aconsejable encriptar todas las claves.
__________________
Salu2
KAYETANO

Cómo hacer preguntas de manera inteligente
Responder Con Cita
  #3  
Antiguo 25-02-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Además de las comprobaciones que te comenta kayetano, me parece que hay una confusión de conceptos. Parece que intentas comprobar la veracidad de los datos en el mismo formulario 1, y si procede mandar directamente el formulario 2:

Cita:
Empezado por David
Código:
form method="post" action="formulario2.php"></b>
	<input type="text" name="usuario" ">
	<input type="text" name="clave">
El action del formulario 1 debe mandarte a un script php que será el encargado de verificar que los datos son veraces:

Código:
form method="post" action="comprobar.php"></b>
	<input type="text" name="usuario" ">
	<input type="text" name="clave">
comprobar.php es donde haces la consulta (tu función comprobar()) y es también donde puedes redirigir al usuario al segundo formulario o regresar un mensaje de error en caso de que los datos no sean correctos:

Código PHP:
function comprobar(...)
{
  ...
}

if (
comprobar())
{
  
// aquí rediriges al segundo formulario
  
header('location: formulario2.php');
}
else
{
  echo 
'datos incorrectos';  

Claro que es un ejemplo muy simplificado. Como te indica kayetano, tienes que cuidar que no haya inyección de código y las contraseñas deberían estar encriptadas.

// Saludos
Responder Con Cita
  #4  
Antiguo 26-02-2007
[David] David is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Málaga
Posts: 417
Poder: 22
David Va por buen camino
Lo que quiero es que yo tengo una base de datos mysql , dentro hay una tabla usuarios , con nombre y clave .

En una pagina php , el usuario escribe el nombre y la password en un <input type="text>

y si al darle a enviar , ese nombre de usuario y password esta en la base de datos mysql , pues entonces va al siguiente formulario , donde podrá iniciar una sesión , y ver sus datos , sus facturas , etc ...

Si el nombre de usuario y password no esta , pues que diga algo como incorrecto . Vamos algo parecido a lo que hay que hacer a la hora de hacer login , para acceder a tu perfil , por poner un ejemplo . El tema seria algo similar .

Ya en el otro formulario a usuarios registrados , pues podrá descargarse archivos , ver sus facturas , y todo lo que se nos vaya ocurriendo .

Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Estoy atascado en el siguiente código David OOP 4 01-10-2006 11:45:45
siguiente registro (mysql) Cosgaya PHP 2 11-07-2006 01:59:40
Pasar al siguiente control jcheco Varios 2 24-01-2006 08:05:25
sabel el siguiente tab? raudelink Varios 2 26-04-2005 02:40:28
encontrar el siguiente en ado jzginez Conexión con bases de datos 1 21-05-2004 12:42:08


La franja horaria es GMT +2. Ahora son las 03:02:04.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi