Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] PHP OO Comparar 02 valores de variables por POST

Estas en el tema de Comparar 02 valores de variables por POST en el foro de PHP en Foros del Web. Hola buenas tardes a todos, quisera me ayudaran a despejar este problema que tengo en una consulta por POST. El problema radica en que al ...
  #1 (permalink)  
Antiguo 26/01/2015, 12:46
 
Fecha de Ingreso: abril-2008
Ubicación: Morelia, México
Mensajes: 18
Antigüedad: 16 años
Puntos: 0
Sonrisa Comparar 02 valores de variables por POST

Hola buenas tardes a todos, quisera me ayudaran a despejar este problema que tengo en una consulta por POST.

El problema radica en que al evaluar los valores de unas variables que me llegan por POST, el resultado de la comparacion siempre resulta (VERDADERO), aun y cuando los valores son diferentes, creo que el problema radica en como estoy anidando la consulta por medio de IF.

Este es mi codigo comentado, de antemano agradezco la ayuda, saludos.

Código PHP:
if(isset($_POST["comparar"]) and ($_POST["clave1"]===$_POST["clave2"])) {

/*Si las 2 condiciones anteriores resultan verdaderas, encripto con sha1 el valor de la variable $_POST["clave2"] y la guardo en una nueva variable $nuevaClave*/

$nuevaClave sha1($_POST["clave2"]);

    
/*Una vez encriptada la nueva clave la comparo con la clave original que viene por $_POST["clave"], 

Allí es donde viene el problema siempre me resulta Verdadero aun cuando los valores encriptados son distintos.*/

    
if ($_POST["clave"] == $nuevaClave);
        {
            echo 
"El valor de la Nueva Clave es: " $nuevaClave "</br>";
            echo 
"El valor de la Clave Original es : " $_POST["clave"] . "</br>";
            echo 
"La Nueva Clave No puede ser igual a su antigua Clave";
            exit;
        }

    }
/*
 a continuación les muestro los valores y el echo del resultado de la comparación:

/echo "El valor de la Nueva Clave es: " . $nuevaClave . "</br>";
El valor de la Nueva Clave es: d003eb01f6492f7429e2599c4d7961514cde0ce1

echo "El valor de la Clave Original es : " . $_POST["clave"] . "</br>";
El valor de la Clave Original es : d640724f2dcdd6f83239ee1afe30d4f62ce2aa78

echo "La Nueva Clave No puede ser igual a su antigua Clave";
La Nueva Clave No puede ser igual a su antigua Clave*/ 
  #2 (permalink)  
Antiguo 26/01/2015, 12:49
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Comparar 02 valores de variables por POST

No, el que anides el if() no afecta en nada.

Y sí, es extraño que te salga verdadero, y es aún más extraño porque acabo de probar lo mismo a me muestra bien todos los datos: es decir, no son iguales.

¿Será posible que hagas algo que no somos capaces de adivinar?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 26/01/2015, 13:01
 
Fecha de Ingreso: abril-2008
Ubicación: Morelia, México
Mensajes: 18
Antigüedad: 16 años
Puntos: 0
De acuerdo Respuesta: Comparar 02 valores de variables por POST

Cita:
Iniciado por pateketrueke Ver Mensaje
No, el que anides el if() no afecta en nada.

Y sí, es extraño que te salga verdadero, y es aún más extraño porque acabo de probar lo mismo a me muestra bien todos los datos: es decir, no son iguales.

¿Será posible que hagas algo que no somos capaces de adivinar?


Pues si estoy de acuerdo contigo pateketrueke;4674293 , llevo parte de la mañana intentando ver que es, ya probe en otro equipo para ver si es algo del servidor local y sigo sin obtener la consulta correcta.

¿alguna idea más por donde pudiera ser u otra manera de hacer la comparacion de las cadenas encriptadas?

Gracias por tu tiempo y sugerencias, saludos.
  #4 (permalink)  
Antiguo 26/01/2015, 13:12
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Comparar 02 valores de variables por POST

Que las cadenas sean "encriptadas" o no es irrelevante, el asunto es que estás comparando cadenas llanamente, nada más.

Has un var_dump($_POST) para ver todo lo que recibes y muestranos.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 26/01/2015, 13:21
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Comparar 02 valores de variables por POST

Si tu código es tal cual:
Código PHP:
Ver original
  1. if ($_POST["clave"] == $nuevaClave);
  2.         {
  3.             echo "El valor de la Nueva Clave es: " . $nuevaClave . "</br>";
  4.             echo "El valor de la Clave Original es : " . $_POST["clave"] . "</br>";
  5.             echo "La Nueva Clave No puede ser igual a su antigua Clave";
  6.             exit;
  7.         }

Al final del if tienes un ; eso hace que la evaluación sea nula y el código dentro de los corchetes siempre se va a ejecutar...
  #6 (permalink)  
Antiguo 26/01/2015, 13:26
 
Fecha de Ingreso: abril-2008
Ubicación: Morelia, México
Mensajes: 18
Antigüedad: 16 años
Puntos: 0
Respuesta: Comparar 02 valores de variables por POST

Cita:
Iniciado por pateketrueke Ver Mensaje
Que las cadenas sean "encriptadas" o no es irrelevante, el asunto es que estás comparando cadenas llanamente, nada más.

Has un var_dump($_POST) para ver todo lo que recibes y muestranos.
Este es el resultado del var_dump($_POST)

array (size=6)
'email' => string '[email protected]' (length=26)
'clave' => string 'd640724f2dcdd6f83239ee1afe30d4f62ce2aa78' (length=40)
'comparar' => string 'si' (length=2)
'clave1' => string '12345' (length=5)
'clave2' => string '12345' (length=5)
'enviar' => string 'Enviar' (length=6)

El valor de la Nueva Clave es: 8cb2237d0679ca88db6464eac60da96345513964
El valor de la Clave Original es : d640724f2dcdd6f83239ee1afe30d4f62ce2aa78
La Nueva Clave No puede ser igual a su antigua Clave
  #7 (permalink)  
Antiguo 26/01/2015, 13:33
 
Fecha de Ingreso: abril-2008
Ubicación: Morelia, México
Mensajes: 18
Antigüedad: 16 años
Puntos: 0
De acuerdo Respuesta: Comparar 02 valores de variables por POST

Cita:
Iniciado por GatorV Ver Mensaje
Si tu código es tal cual:
Código PHP:
Ver original
  1. if ($_POST["clave"] == $nuevaClave);
  2.         {
  3.             echo "El valor de la Nueva Clave es: " . $nuevaClave . "</br>";
  4.             echo "El valor de la Clave Original es : " . $_POST["clave"] . "</br>";
  5.             echo "La Nueva Clave No puede ser igual a su antigua Clave";
  6.             exit;
  7.         }

Al final del if tienes un ; eso hace que la evaluación sea nula y el código dentro de los corchetes siempre se va a ejecutar...


Gracias GatorV, así es simple y llanamente cegera de taller, agradezco enormenente su apoyo.

Gracias pateketrueke, por tus aportes.

Saludos.

Etiquetas: Ninguno
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 18:04.