Utilizzare la scritta Mozilla nel codice equivale ad utilizzare una costante. Dato che tale costante non è definita, php la trasforma automaticamente in "Mozilla" se serve una stringa e in 0 se serve un numero e dovrebbe emettere la Notice come segnale di errore. Provando il confronto di Mozilla==flase ritorna falso mentre Mozilla==true ritorna true

La stringa di codice

strpos($_SERVER['HTTP_USER_AGENT'],"Mozilla")==Mozilla

sfrutta quindi un abominio di PHP .

Se avessi letto il link del manuale sapresti che strpos restituisce un valore maggiore o uguale a 0, che indica la posizione iniziale della stringa cercata all'interno della stringa in cui cerchi. Nel caso in cui la stringa cercata non sia presente ritorna false numericamente simile allo 0 se non si utilizza l'operatore di confronto ===.

Quindi cosa succede? La scritta Mozilla viene interpretata come 0 quando la strpos ritorna un numero e come true o "Mozilla" quando ritorna false quindi:

1)$_SERVER['HTTP_USER_AGENT'] contiene Mozilla come parola iniziale la condizione risulta verificata
2)$_SERVER['HTTP_USER_AGENT'] contiene Mozzilla in posizione successiva alla 0 o non la contiene affatto allora la condizione non risulta verificata

E' per questo che ti sembra funzioni ma come codice fa veramente schifo