Foros del Web » Programando para Internet » PHP »

Validación W3

Estas en el tema de Validación W3 en el foro de PHP en Foros del Web. Buenas, Estoy intentando validar una página con el validator de W3. La página es XHTML transaccional y utilizo PHP. El problema me lo encuentro que ...
  #1 (permalink)  
Antiguo 02/04/2014, 05:38
 
Fecha de Ingreso: mayo-2004
Ubicación: maresme
Mensajes: 88
Antigüedad: 20 años, 6 meses
Puntos: 1
Validación W3

Buenas,

Estoy intentando validar una página con el validator de W3. La página es XHTML transaccional y utilizo PHP.
El problema me lo encuentro que el validador se para justo donde empieza la etiqueta de <?PHP, entiendo que no debería pasar, que el código que valida es el que llega al navegador pero pasa.
Si comento ese primer script PHP, se para en el siguiente.

¿Qué está pasando? ¿Alguien se ha encontrado el mismo problema?

Gracias de antemano.
__________________
Maria José.
  #2 (permalink)  
Antiguo 02/04/2014, 06:40
Avatar de supercoco79  
Fecha de Ingreso: octubre-2012
Ubicación: Islas Canarias
Mensajes: 115
Antigüedad: 12 años, 1 mes
Puntos: 35
Respuesta: Validación W3

El validador W3 solo valida código HTML después de haber ejecutado los scripts php, y por tanto carece de sentido intentar validar dicha página con código que no sea HTML, al margen de los que pueda existir entre las tags de <script> con código javascript y <style> con código CSS, que por otro lado son lenguajes client side.

Mi recomendación es que valides tu página una vez todo el código del lado servidor (PHP) haya sido ejecutado.

Un saludo.
__________________
Yesterday was the only easy day. Deportes de aventura
  #3 (permalink)  
Antiguo 02/04/2014, 06:50
 
Fecha de Ingreso: mayo-2004
Ubicación: maresme
Mensajes: 88
Antigüedad: 20 años, 6 meses
Puntos: 1
Respuesta: Validación W3

Gracias por la respuesta pero lo hago como dices.

Yo le paso la url al validador, ahí ya debe estar interpretado y sólo aparecer HTML, no debería detectar el PHP pero lo hace.
Si miro el código fuente de la página no aparece nada extraño, ningún código que identifique que ahí empieza la etiqueta <?PHP
__________________
Maria José.
  #4 (permalink)  
Antiguo 02/04/2014, 07:47
Avatar de jheckson  
Fecha de Ingreso: febrero-2011
Ubicación: $VE->Aragua['Maracay']
Mensajes: 109
Antigüedad: 13 años, 9 meses
Puntos: 8
Respuesta: Validación W3

Te recomiendo lanzar en tu navegador la vista que quieres, leugo presionar Ctrl+U (Caso de Firefox) y asi obtienes tu codigo HTML unicamente, la copias y montas en el validador, si te sigue lanzando dicho error, significa que tienes una impresion como tal del "<?php" que tal vez no notes a simple vista, la cual podrias buscar con el el propio buscador del navegador en la ventana con el codigo HTML que se mostro con el comando anterior!
__________________
Ayudar a otros, es una de las mejores formas de aprender y ayudarse a si mismo! =)

>[Jheck]<
  #5 (permalink)  
Antiguo 02/04/2014, 08:10
 
Fecha de Ingreso: mayo-2004
Ubicación: maresme
Mensajes: 88
Antigüedad: 20 años, 6 meses
Puntos: 1
Respuesta: Validación W3

Ya lo he solucionado aunque no sé bien por que pasaba. Lo explico por si alguien tiene el mismo problema.

Dentro del script PHP llamaba a un fichero con las constantes del multidioma, aunque a página funcionaba correctamente y en el código fuente no había ningún caracter, afectaba al validador.

Esto no lo validadaba:
require_once("themes/langs/ES.php");
esto sí:
require_once('/themes/langs/ES.php');
__________________
Maria José.
  #6 (permalink)  
Antiguo 03/04/2014, 07:31
Avatar de supercoco79  
Fecha de Ingreso: octubre-2012
Ubicación: Islas Canarias
Mensajes: 115
Antigüedad: 12 años, 1 mes
Puntos: 35
Respuesta: Validación W3

Cita:
Iniciado por majolucena Ver Mensaje
Ya lo he solucionado aunque no sé bien por que pasaba. Lo explico por si alguien tiene el mismo problema.

Dentro del script PHP llamaba a un fichero con las constantes del multidioma, aunque a página funcionaba correctamente y en el código fuente no había ningún caracter, afectaba al validador.

Esto no lo validadaba:
require_once("themes/langs/ES.php");
esto sí:
require_once('/themes/langs/ES.php');
¿Quieres decir que cambiando las comillas se ha solucionado el problema? ¿Te aparece la línea que comentas en tu página HTML? Si es así entonces es que sigues sin validar correctamente. Tu código HTML, si está correcto, no debe incluir ni una línea de código PHP. El lenguaje PHP en lado servidor sirve para generar código HTML dinámico, y si después de que tu servidor compile y ejecute PHP te aparece la línea que comentas, entonces es que esa línea no se está ejecutando, ya sea por un problema de sintaxis o cualquier otra razón.

Debes saber que los navegadores (Chrome, Firefox, etc.) no entienden nada en absoluto de PHP y de nada sirve tener una línea en este lenguaje en tu página html. Revísalo porque aunque te pase el validador, tu código PHP no está correctamente implementado.

Si por el contrario, esta línea no aparece en tu página HTML, y por cambiar comillas dobles a comillas simples se soluciona, miraría bien tu código, ya que las comillas dobles y simples en esta línea se pueden usar indistintamente sin ninguna diferencia.

Espero haber ayudado a aclarar un poco más el tema.
__________________
Yesterday was the only easy day. Deportes de aventura

Etiquetas: html
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:59.