Cómo evitar el error ‘Undefined index’ en PHP

El estamento if($_REQUEST["fecha_inicio"]) { me muestra el error Notice: Undefined index: fecha_inicio in G:Xampphtdocsencuestas_dsmcesfamgraficos_14.php on line 9.

Pantalla con código PHP y un mensaje de error rojo.
El famoso error de Undefined index en PHP que nos detiene.

¿Como puedo evitarlo cuando no está definido?

Soluciones seguras con isset() y empty()

Ese error aparece porque estás intentando acceder a $_REQUEST["fecha_inicio"] cuando esa clave no existe. La forma moderna y segura de comprobarlo es con isset():

if (isset($_REQUEST['fecha_inicio'])) {
    // hacer algo
}

Si además quieres verificar que no venga vacío:

if (!empty($_REQUEST['fecha_inicio'])) {
    // hacer algo
}

O, si necesitas obtener el valor con un valor por defecto:

Bloques de código comparando métodos seguros de acceso a variables.
Las tres formas modernas y seguras de comprobar si una variable está definida en PHP.
$fecha_inicio = $_REQUEST['fecha_inicio'] ?? '';

Luego puedes usar:

if ($fecha_inicio != '') {
    // hacer algo
}

Tu código actual, if ($_REQUEST["fecha_inicio"]) {, falla porque PHP primero intenta leer la clave; si no existe, genera el Notice: Undefined index antes de evaluar el if.

Gráfico comparativo entre las superglobales PHP y mejores prácticas.
Por qué es mejor usar $_GET o $_POST en lugar de $_REQUEST para mayor claridad.

Si estás usando PHP 7 o superior, el operador ?? suele ser la solución más cómoda:

if (($_REQUEST['fecha_inicio'] ?? '') !== '') {
    // hacer algo
}

¿Por qué preferir $_GET o $_POST?

Por cierto, en código nuevo suele recomendarse usar $_GET o $_POST explícitamente en vez de $_REQUEST, porque deja más claro de dónde vienen los datos.