problema con hipervinculos

me da este problema al crear ipervinculos con php:
Notice: Undefined index: id in C:\Program Files\EasyPHP 2.0b1\www\index.php on line 13
y el codigo del ipervinculo es :
<?php
switch ($_REQUEST['id']) {
case 'inicio': include ('inicio.php');
break;
case 'members': include ('miembros.php');
break;
case 'newnotice': include ('notice.php');
break;
case 'video': include ('videos.php');
break;
default: include ('inicio.php');
}

?>
la verda esque lo quiero hacer en el index y he intentao con $_request, $_post y $_get
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
<link href="estilos/index.css" rel="stylesheet" type="text/css" />
<link type="image/x-icon" href="images/p90.gif" rel="icon" />

</head>

<body bgcolor="#CCCCCC">
<?php
switch ($_GET['id']) {
case 1: include ('inicio.php');
break;
case 2: include ('miembros.php');
break;
case 3: include ('notice.php');
break;
case 4: include ('videos.php');
break;
default: include ('inicio.php');
}
header ('inicio.php');
?>

</body>
</html>
ay esta tol codigo
no reconoce la id y no se como solucionarlo
Ok, el problema entonces está en esta línea:
case 1: include ('inicio.php');

Ahí hay algo mal :? ¿puede ser el 1? :?
eso es lo raro que todo esta correcto o alomejor esque como estoy intentandolo acer para que funcione en el index y lo mas seguro esque sea que no se como hacerlo :( por eso puse lo de header ('inicio.php')
Pues no sé que pasará, lo que esté claro es el código erróneo es esa línea. El archivo inicio.php no está dentro de ninguna carpeta?
Bueno, lo primero es que el header ('inicio.php'); te va a dar un error porque no se usa así. Este comando solo puede usarse cuando aún no se ha mandado nada al cliente, en este caso ya has mandado la cabecera de la web, por tanto te dará un error.

Tampoco entiendo lo que quieres hacer ya que un header ('inicio.php'); hace un salto a la web que indiques en el parámetro, en este caso iriía a inicio.php sin mantener nada de la web donde estas poniendo este codigo. El header solo es para redireccionar, si quieres cargar un fichero php desde otro debes usar require.

Sobre el switch ($_GET['id']) no lo hagas directamente, usa una variable.

$id=$_GET['id'];
switch($id) {

Y si te da el mismo error suprime la línea $id=$_GET['id']; y pruébalo. A veces el php está configurado de tal modo que no se necesita capturar los parámetros ya que se asignan solos a una variable con el mismo nombre.

Saludos
el problema persiste y me sigue saliendo esto
Notice: Undefined index: id in C:\Program Files\EasyPHP 2.0b1\www\index.php on line 11
te doi el codigo php de nuevo:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<?php
$id=$_GET['id'];
switch($id) {
case 1: include ('inicio.php');
break;
case 2: include ('2.php');
break;
case 3: include ('3.php');
break;
case 4: include ('4.php');
break;
}

?>
siento ser tan pesao pero estoy intentando aprender el php
Tiene pinta de ser la configuración del php.ini la que te está dando problemas. Prueba a comentar la linea del $_GET

<body>
<?php
//$id=$_GET['id'];
switch($id) {
  case 1: include ('inicio.php');
              break;
  case 2: include ('2.php');
              break;
  case 3: include ('3.php');
              break;
  case 4: include ('4.php');
             break;
} 
va a ser el php.ini que ni si quiera puedo usar mysql ni el phpmyadmin :cry: