Los operadores or y || no son completamente equivalentes. || tiene más prioridad que or, por lo que hay situaciones en las que no se comportan de igual forma.
Se ve más claro con asignaciones. El operador = tiene preferencia sobre or pero no sobre || por lo que:
Código php:
Ver original$prueba = FALSE || TRUE; // El valor de $prueba será: TRUE
$prueba = FALSE or TRUE; // El valor de $prueba será: FALSE. Esto es porque se hace primero la asignación de $prueba = FALSE y después el or.
$prueba = (FALSE or TRUE); // El valor de $prueba será: TRUE. Con los parentesis forzamos a realizar primero el or y después la asignación.
Orden de precedencia de operadores en PHP:
http://es.php.net/manual/es/language...ors.precedence
En esta sitación concreta entiendo que no debería influir mucho el operador que se utilice. No veo del todo la lógica de la condición, yo creo que sería con and, es decir, quieres que entren en la "página principal" si no existe NINGUNA de esas variables, ¿no?