¿En que sitio del script haces echo $Op para comprobarlo?
Yo cambiaría la parte inicial por una similar a esta, añadiendo algún tipo de control para comprobar que $_GET['Op'] tenga un valor que tú esperes:
Código PHP:
$Op = 0;
if (isset ($_GET['Op'])){
$Op = $_GET['Op'];
}
Después hay un problema de concepto en tu script, que te puede llevar a problemas en un futuro en scripts complejos, o con otros lenguajes de programación, y es ir con cuidado con los nombres de variables. Llamas a MostrarPagina($Op) en un punto del script y después en la definición de la función vuelves a usar $Op, un nombre que ya has usado con $_GET['Op'], en php no pasa nada, por que, en teoría, te haria falta poner global $Op para crear la confusion, pero nunca se sabe. Aparte, ¿que hace un <?php dentro de la función?
Cita: function MostrarPagina($Op)
{
<?php
switch $Op {
case 1: include "pagina1.htm";
break;
case 2: include "pagina2.htm";
break;
case 3: include "pagina3.htm";
break;
}
?>
}