dudilla de php

DarkF0X

Hola, pues estaba haciendo un include para validar sesiones con php y al intentar querer usar la comparación != puse sin querer =! y me di cuenta ke no me dio error y me funciona igual k si lo hubiese puesto bien xdd es una rayada pero me ha dejado intrigado, es lo mismo? este es el código en cuestión:

if($contador=!2)
header("Location: admin.php");

r2d2rigo

Seguro? Porque por la sintaxis en teoria siempre deberiar funcionar... quicir, la evaluacion es igualar $contador a NOT 2, asi que teoricamente siempre entrara en el bucle if.

DarkF0X

eso pensaba yo, k así se haría una asignación a $contador en vez d una comparación, pero me funciona igualmente ke si pusiera != (distinto) :S.

Cuando el usuario y la clave coinciden $contador se pone a 2 sino es el caso, te redireccionaría al login de nuevo.

si pongo en ese If $contador==2 me llevaria al login y si pongo != o =! no xdddd.

weno sólo era una curiosidad k tenia (estoy iniciándome).

DarkF0X

he hecho una prueba en otro php y nunca entra en ese if no se pq xdd

cabron

2 es distinto de 0, por tanto vale true.

!2 es una negación de true, es decir, false.

$contador =!2 asigna en $contador el valor false, por tanto if($contador) devuelve false, y no se cumple nunca la condición, por eso se salta la sentencia que pertenece al if.

DarkF0X

gracias tio, ya me keda aclarado

Usuarios habituales

  • DarkF0X
  • cabron
  • r2d2rigo