Quote Originariamente inviata da ciupaz
Con l'open() il popup appare, ma la pagina sottostante non rimane, e si viene rimandati al login (o ad una pagina di errore).
Come già detto, open() (a differenza di una finestra di tipo modale) non interrompe l'esecuzione dello script attendendo una risposta; per tale motivo, la condizione che sta dopo quella riga, non viene verificata nel modo corretto ma sarà eseguito comunque l'eventuale resto dello script per il quale, presumo, avvenga ciò che hai indicato.

Quote Originariamente inviata da ciupaz
ma il popup si richiude automaticamente dopo un paio di secondi.
Personalmente non so dirti. Difficile capire cosa sta avvenendo senza poter verificare cosa succede in quella pagina.

Se il tuo elaborato è accessibile pubblicamente online, prova a postare il link, così da poter verificare direttamente.