Comunidad de diseño web y desarrollo en internet online

Validar usuario y contraseña

Citar            
MensajeEscrito el 20 Feb 2010 07:43 pm
Hola a tod@s tengo el siguiente código PHP que tiene la función de comprobar que el usuario y la contraseña no sean iguales. Lo que me ocurre es que no funciona porque introduzco el usuario y la contraseña igual y no me aparece el mensaje de error. A continuación pongo el código que estoy utilizando:
[code]
<?php
if ($_GET[ nombre] ==$_GET[ clave] )
echo "La contraseña no puede ser igual que el nombre. Vuelve a introducir tus datos pulsando <a href= formulario_3.php>aquí</a>";
else
echo "Hola <b>".$_GET[ nombre] ." ".$_GET[ apellidos] ." </b>, tu clave es <b>".$_GET[ clave] ."</b>.";
?>
[code]
El siguiente código que pongo es el del formulario:
[code]
<html>
<head>
<title>Caso práctico 3</title>
</head>
<body>
<form name="formulario" action="Caso_practico_5.php" method="get">
<p>Por favor, inserta tus datos:</p>
<p>Nombre: <input name="apellidos" type="text"></p>
<p>Clave: <input name="clave" type="password"></p>
<p><input name="Enviar" type="submit" value="Enviar"></p>
</form>
</body>
</html>
[code]
Me pueden decir donde esta el fallo, gracias por sus respuestas. Saludos

Por DuendeB25

5 de clabLevel



 

mozilla
Citar            
MensajeEscrito el 20 Feb 2010 11:29 pm
Tienes errores de sintaxis:
if ($_GET["nombre"] ==$_GET["clave"]) {
echo "La contraseña no puede ser igual que el nombre. Vuelve a introducir tus datos pulsando <a href= formulario_3.php>aquí</a>"; }
else {
echo "Hola <b>".$_GET["nombre"] ." ".$_GET["apellidos"] ." </b>, tu clave es <b>".$_GET["clave"] ."</b>."; }

Además no creo que esto funcione como esperas porque fácilmente podría poner mi nombre de usuario como "DriverOp" y la contraseña como "dRIVERoP" y pasaría la prueba.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 21 Feb 2010 02:41 am
Además la comparacion de cadenas debes realizarla con el operador ===, podrias resolver el problema que plante DriverOp al convertir ambas cadenas a minusculas (o mayusculas) y luego compararlas:

if (strtolower($_GET['nombre'])===strtolower($_GET['clave'])) {
echo "La contraseña no puede ser igual que el nombre. ";
echo "Vuelve a introducir tus datos pulsando <a href=formulario_3.php>aquí</a>";
} else ....

Por bucle_infinito

Claber

166 de clabLevel

1 tutorial

 

.NET Developer

firefox
Citar            
MensajeEscrito el 27 Feb 2010 04:21 pm
Hola perdonen por tardar en responder, estado probando lo que me han dicho y me pasa lo mismo. Cuando introduzco el nombre pepe y la contraseña pepe me sale el mensaje Hola pepe, tu clave es pepe. No funciona, lo que tendría que aparecer es el mensaje de error. Gracias de todas formas.

Por DuendeB25

5 de clabLevel



 

mozilla
Citar            
MensajeEscrito el 27 Feb 2010 06:22 pm
asi seria:

if ( $_POST['usuario'] = $_POST['clave'] ){}
else {
echo 'La contraseña y el usuario no pueden ser iguales.';
exit;

Por remix90

11 de clabLevel



 

chrome
Citar            
MensajeEscrito el 27 Feb 2010 11:21 pm
¿Por qué?, si el método en el form es GET, no POST, y además lo que has puesto dentro del if es una asignación, no una comparación de igualdad.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 02 Mar 2010 05:09 pm
El campo "nombre" de tu formulario tiene como "name=apellidos":

Código HTML :

<p>Nombre: <input name="apellidos" type="text"></p>
<p>Clave: <input name="clave" type="password"></p>


... por lo que en PHP tenés que corregir:

Código PHP :

if ($_GET["nombre"] == $_GET["clave"] )


... por

Código PHP :

if ($_GET["apellidos"] == $_GET["clave"] )


También aplica las funciones que los usuarios anteriores postearon.

Creo que el error va por ahí, no?!

Saludos!

Por Necrophasto

Claber

148 de clabLevel



Genero:Masculino  

Diseñador gráfico y web

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.