• Domingo 22 de Diciembre de 2024, 13:56

Autor Tema:  Error con Php y XML  (Leído 5182 veces)

guillep

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Error con Php y XML
« en: Jueves 14 de Abril de 2011, 21:57 »
0
Hola Amigos estoy teniendo un problema con una sindicación me muestra el siguiente mensaje.
sindicacion.php

This page contains the following errors:
error on line 32 at column 64: PCDATA invalid Char value 3
Below is a rendering of the page up to the first error.

Por favor si alguien me puede dar una mano

Muestro como tengo los dos archivos:
sindicacion.php

Código PHP:
Código: PHP
  1. <?php header ('Content-type: text/xml; content="text/html; charset=iso-8859-1');
  2. echo ("<?xml version="1.0" encoding="iso-8859-1"?>");
  3. ?>
  4. <rss version="2.0">
  5. <channel>
  6. <title>Ofertas Laborales -  Mipagina .: Desarrollando :.</title>
  7. <link>web</link>
  8. <description>Ofertas Laborales / Version RSS</description>
  9. <language>es</language>
  10. <image>
  11. <title>Ofertas Laborales / Version RSS</title>n
  12. <url>/imgs/logo.jpg</url>
  13. <link>web</link>
  14. <description>Ofertas Laborales -  Mipagina .: Desarrollando :.</description>
  15. </image>
  16. <?php  
  17. mysql_connect ("localhost", "usuario", "pass")
  18. //mysql_connect ("localhost", "root", "pass")
  19.  or die ("Cannot connect to database server.");
  20.      mysql_select_db ("basededatos") or die ("Cannot connect to database.");
  21.  
  22. $resultado=mysql_query("SELECT * FROM pr_oferta where ofe_est='on' AND ofe_publicada='on' AND ofe_date_fin>date(now())  order by ofe_update desc limit 0,15");
  23. //$row=mysql_fetch_array($resultado);
  24.    
  25.    
  26.      while ($datos = mysql_fetch_array ($resultado)) {
  27.      ?>
  28. <item>
  29. <title><? echo $datos["ofe_nombre"];?></title>
  30. <link>
  31. miweb/detalle.php?i=<?php echo $datos["ofe_id"];?></link>
  32. <description><? echo substr($datos["ofe_desc"],0,2000)."";?></description>
  33. </item>
  34. <?
  35. }
  36.  
  37. ?>
  38. </channel>
  39. </rss>
  40.  
  41.  

Ahora el rss.xml

Código:
Código: PHP
  1. <?php header ('Content-type: text/xml; content="text/html; charset=iso-8859-1');
  2. echo ("<?xml version="1.0" encoding="iso-8859-1"?>");
  3. ?>
  4. <rss version="2.0">
  5.     <channel>
  6.         <title>Ofertas Laborales -  Mipagina .: Desarrollando :.</title>
  7. <link>web</link>
  8. <description>Ofertas Laborales / Version RSS</description>
  9. <language>es</language>
  10. <image>
  11. <title>Ofertas Laborales / Version RSS</title>n
  12. <url>webg</url>
  13. <link>web</link>
  14. <description>Ofertas Laborales -  Mipagina .: Desarrollando :.</description>
  15. </image><?php
  16. mysql_connect ("localhost", "user", "pass") or die ("Cannot connect to database server.");
  17.      mysql_select_db ("basededatos") or die ("Cannot connect to database.");
  18.  
  19. $resultado=mysql_query("SELECT * FROM pr_oferta where ofe_est='On' order by ofe_update desc limit 0,15");
  20.      while ($datos = mysql_fetch_array ($resultado)) {
  21.      ?>
  22.         <item>
  23.             <title><?php echo $datos["ofe_nombre"];?></title>
  24.             <description><?php echo substr($datos["ofe_desc"],0,300)."...";?></description>
  25.             <link>webl</link>
  26.             <pubDate></pubDate>
  27.         </item><?php
  28. }
  29. ?>
  30.     </channel>
  31. </rss>
  32.  

shadow_rev

  • Miembro MUY activo
  • ***
  • Mensajes: 397
  • Nacionalidad: co
  • Un SPARTAN no muere en combate
    • Ver Perfil
    • http://shadowrev.blogspot.com
Re: Error con Php y XML
« Respuesta #1 en: Viernes 15 de Abril de 2011, 16:05 »
0
Si no me equivoco, y el PHP está configurado con short_open_tag en off, el tag que abres para php en la línea 32 del archivo sindicacion.php es el que te genera el problema: lo tienes <? en vez de <?php.

:suerte:
Volará quien le ponga alas a sus sueños (Candidate for goddess)
Si el mal existe en este mundo, reside en el corazón de la humanidad (Edward D. Morrison - Tales of Phantasia)
Lo único que puedes cambiar del pasado, es lo que sientes por él en el presente (Lockon Stratos - Mobile Suit Gundam 00)
Ingeniero de Sistemas

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Error con Php y XML
« Respuesta #2 en: Sábado 16 de Abril de 2011, 08:37 »
0
Bueno, el mensaje de error es de XML, no en PHP, la linea 32 de XML, lo que te comenta shadow_rev es frecuente que ocurra, o problemas similares y confusiones con

<?xml y <?php que llegan a  tener los scripts, creo que ayudaria mucho que nos mostraras el resultado XML es decir ya en el cliente (navegador; VER CODIGO FUENTE) para poder ver la estructura final del XML

Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

guillep

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Error con Php y XML
« Respuesta #3 en: Sábado 16 de Abril de 2011, 16:52 »
0
Lo que veo es que pongo la dirección en mi navegador del rss y pongo ver código y me muestra los datos del conexión a la base de datos. Como hago para que oculte esa parte?

Si pongo en el explorador en para ver sidicacion.php y pongo ver el codigo el codigo se corta justo donde hay un acento en la linea 14.
Al parecer es un error del charset, le cambie el charset a la tabla en la base de datos y al archivo y sigue igual.

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Error con Php y XML
« Respuesta #4 en: Domingo 17 de Abril de 2011, 11:39 »
0
Cita de: "guillep"
Lo que veo es que pongo la dirección en mi navegador del rss y pongo ver código y me muestra los datos del conexión a la base de datos. Como hago para que oculte esa parte?

En el cliente? o donde ves eso? en la pagina o en en el fuente?

Cita de: "guillep"
Si pongo en el explorador en para ver sidicacion.php y pongo ver el codigo el codigo se corta justo donde hay un acento en la linea 14.
Al parecer es un error del charset, le cambie el charset a la tabla en la base de datos y al archivo y sigue igual.

Tienes que utilizar la codificacion UTF8 , al generar tu XML

http://www.php.net/manual/es/function.utf8-encode.php

Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

guillep

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Error con Php y XML
« Respuesta #5 en: Lunes 18 de Abril de 2011, 21:24 »
0
Lo veo cuando visito en el navegador el archivo rss.xml si pongo para ver código de fuente desde el browser.

Hice lo siguiente pero sigo sin exito:
Corregí la base de datos cambiandole a todas las tablas el charset a utf8_unicode_ci
Corregí  los archivos rss.xml y sindicacion.php cambiandoles el charset a utf8.

Ambas acciones sin éxito!!

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Error con Php y XML
« Respuesta #6 en: Martes 19 de Abril de 2011, 05:09 »
0
Haz probado esta configuracion?

Cabeceras de la salida, (codificacion que recibira el navegador)
Código: PHP
  1. header ('Content-type: text/xml; content="text/html; charset=UTF-8"')
  2.  

Como lo interpretara el XML (en su contenido)
Código: XML
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2.  

Despues codificar, la salida de los datos a escribir en el xml

Código: PHP
  1. ...
  2.      <item>
  3.       <title><?php utf8_encode($datos["ofe_nombre"]);?></title>
  4. ...
  5.  

Lo que te ha dicho shadow_rev es lo mas probable que sea la razon para que veas el codigo de php, ya que no se esta interpretando (cambiar <? por <?php)

Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

guillep

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Error con Php y XML
« Respuesta #7 en: Martes 19 de Abril de 2011, 05:59 »
0
Mañana lo pruebo!! le tengo mucha fé a este fix!!! Gracias

guillep

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Error con Php y XML
« Respuesta #8 en: Lunes 25 de Abril de 2011, 18:04 »
0
No hay caso amigos, no puedo hacerlo andar!!