Questo
!isset($_SESSION['???']) && ($_SESSION['???']!=="zzzz")
se i due ??? sono la stessa chiave, non sarà mai vero, stai chiedendo:
"se la variabile non è settata e non è identica alla stringa zzzz...".
Come si fa a verificare se è diversa rispetto a qualcosa non essendo neanche settata?
I casi che ti si presentano sono:
1) $_SESSION['???'] è settata, quindi si passa all'or, non si verifica neanche se è !== 'zzzz' perché è in and con una condizione falsa
2) $_SESSION['???'] non è settata, quindi non è confrontabile con niente, anzi, dovrebbe proprio darti errore perché cerchi di usare una variabile inesistente con l'operatore !==

Rispondi quotando