Es una muy mala práctica tener $variable_con_un_nombre = $_POST['otro_nombre_muy_diferente"], casi siempre te complica la lectura y la edición de tus scripts, deberías tener algo como:
    
Código PHP:
Ver original- $_SESSION['nombre'] = $afil['nombre']; 
- $nombre = $_POST['nombre']; 
-   
- // Entonces, en tu comparación verías más claramente qué variables están involucradas 
Observaciones y errores:
- Asegúrate de haber asignado un valor correcto a 
$id
- Al final de la linea $query = mysql_query() agrega 
or die(mysql_error()); eso te ayudará a saber si hay errores
- Después de ejecutar la consulta, debes verificar si hay resultados para leer antes de usar mysql_fetch_array(), revisa el manual de mysql_num_rows()
- Tienes la variable 
$afil para leer la consulta, sin embargo, asignas el nombre desde 
$afi (sin L al final)
- No pongas tu if-then-else en una sóla línea, queda muy ilegible
- Usa la herramienta Highlight del foro para mostrar tu código
- Por cierto, qué caso tiene usar una variable de sesión que sólo estará disponible para comparar el valor enviado en el formulario?