Pues ahí en el compilador del w3c te dicen qué hacer para corregir. La mayoría de los errores y advertencias son por usar el signo & en las URLs. Para solucionarlo puedes leer la siguiente página:
http://www.w3.org/QA/2005/04/php-session
Yo sugiero colocar lo siguiente en el script de php:
Código HTML:
ini_set('arg_separator.output','&');
Así se sustituye el ampersand (&) por un ampersand en unicode (&) válido para poner en las URLs.
El otro error que encontré fue que faltó cerrar un enlace: <a......>
</a>