Cita:
Iniciado por pateketrueke Ya lo has dicho tú "a tu parecer", pero tú no eres la ley, la ley es lógica, no tú.
Para empezar isset() devuelve un booleano, por lo tanto tu comparación está mal
Ahora, observa esto:
Código PHP:
Ver original// MAL
if (isset($nivel) === 'editor' or
'admin')
// BIEN
if ($nivel === 'editor' || $nivel === 'admin')
¿Notas las diferencias?
Sí, la ley es lógica y si lees con
lógica lo que estaba haciendo le verás el sentido a lo que estoy preguntando ;)
Cita: Te sugiero leer un manual de programación general pues la precedencia de operadores es importante, además un manual de PHP básico para que tengas opiniones fundamentadas, no solo a tu parecer.
Consulté el manual de PHP, por eso dije que había intentado con los operadores. Mira un ejemplo de lo que te planteo:
$variable = $_POST['variable'];
Esta puede contener dos valores, o "editor" o "admin"
LEELO CON
LOGICA, (un poco de pseudocódigo)
If $variable = 'admin' then -> mostrar('usted tiene permisos de editor más los permisos especiales').
If $variable = 'editor' then -> mostrar('usted solo puede editar')
Ahora la comparación:
If $variable es = a 'admin' o 'editor' -> acción
¿Lo leíste con lógica? Bueno, entonces verás que no está mal. Mi error está en la mal utilización del isset, no en la lógica. Coloqué los demás operadores simplemente porque también los estaba usando en el momento, error de despiste.
----
Gracias a los demás que respondieron. El uso que le dí a isset() era para verificar que el campo tuviese contenido y en caso de que no pues mostrara error. Lo pensé pero no era la forma correcta de ejecutarlo así que pido disculpas por mi error de novato.