Foros del Web » Programando para Internet » PHP »

Imposible crear RSS

Estas en el tema de Imposible crear RSS en el foro de PHP en Foros del Web. Hola a todos, durante varios días he estado intentando crear un feed para mi página web, pero me esta siendo imposible crearlo. He encontrado un ...
  #1 (permalink)  
Antiguo 06/08/2011, 13:07
 
Fecha de Ingreso: julio-2009
Mensajes: 40
Antigüedad: 15 años, 3 meses
Puntos: 0
Imposible crear RSS

Hola a todos, durante varios días he estado intentando crear un feed para mi página web, pero me esta siendo imposible crearlo. He encontrado un código que debería funcionar bien, pero no, lo he subido a mi web y me da error, lo he pasado por el Feed Validation Service y tampoco. Ya estoy desesperado haber si alguien sabe cual puede ser el error del siguiente código:

Código PHP:
<?php

// Elimina caracteres extraños que me pueden molestar en las cadenas que meto en los item de los RSS
function clrAll($str) {
   
$str=str_replace("&","&",$str);
   
$str=str_replace(""",""",$str);
   
$str=str_replace("'","'",$str);
   
$str=str_replace(">",">",$str);
   
$str=str_replace("<","<",$str);
   return 
$str;
}

//creo cabeceras desde PHP para decir que devuelvo un XML
header("Content-type: text/xml");

//comienzo a escribir el código del RSS
echo "<?xml version="1.0""." encoding="ISO-8859-1"?>";

//conecto con la base de datos
$Servidor "localhost";
$usuario "root";
$clave "";
$bbdd "aplicacionarticulos";
$connectid mysql_connect($Servidor$usuario$clave);
mysql_select_db($bbdd);

//sentencia SQL para acceder a los últimos 20 artículos publicados
$ssql "select * from post order by tiempo desc limit 10";
$result mysql_query($ssql);

//Cabeceras del RSS
echo '<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">';
//Datos generales del Canal. Edítalos conforme a tus necesidades
echo "<channel>\n";
echo 
"<title>Novedades de Desarrolloweb.com</title>";
echo 
"<link>http://www.desarrolloweb.com</link>";
echo 
"<description>Ejemplo sobre cómo hacer un RSS desde PHP y trayendo los datos desde MySQL.</description>";
echo 
"<language>es-es</language>";
echo 
"<copyright>DesarrolloWeb.com</copyright>\n";

//para cada registro encontrado en la base de datos
//tengo que crear la entrada RSS en un item
while ($registro mysql_fetch_array($result))
{
   
//elimino caracteres extraños en campos susceptibles de tenerlos
   
$titulo=clrAll($registro["titulo"]);         
   
$desc=clrAll($registro["descripcion"]);

   echo 
"<item>\n";
   echo 
"<title>$titulo</title>\n";
   echo 
"<description>$desc</description>\n";
   echo 
"<link>" $registro["enlace"] . "</link>\n";
   echo 
"<pubDate>"date "r" $registro['tiempo'] )."</pubDate>\n";
   echo 
"</item>\n";
}

//cierro las etiquetas del XML
echo "</channel>";
echo 
"</rss>";

?>
Gracias de antemano.
  #2 (permalink)  
Antiguo 06/08/2011, 13:10
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Imposible crear RSS

¿Podrías decirnos los mensaje de error que recibes o hay que adivinar?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 06/08/2011, 13:12
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 10 meses
Puntos: 209
Respuesta: Imposible crear RSS

cual error te da ?
__________________
aconcaguaestudio.com
  #4 (permalink)  
Antiguo 06/08/2011, 13:12
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 15 años, 6 meses
Puntos: 322
Respuesta: Imposible crear RSS

Aquí hay un tremendo error de comillas
Código PHP:
Ver original
  1. //comienzo a escribir el código del RSS
  2. echo "<?xml version="1.0""." encoding="ISO-8859-1"?>";
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #5 (permalink)  
Antiguo 06/08/2011, 13:16
 
Fecha de Ingreso: julio-2009
Mensajes: 40
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Imposible crear RSS

Gracias por contestar,

pues vereis el primer error que recibo es este:

Número de línea 20, columna 14:
$Servidor = "localhost";
-------------^
  #6 (permalink)  
Antiguo 06/08/2011, 13:17
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 4 meses
Puntos: 793
Respuesta: Imposible crear RSS

Cita:
Iniciado por Sourcegeek Ver Mensaje
Aquí hay un tremendo error de comillas
Código PHP:
Ver original
  1. //comienzo a escribir el código del RSS
  2. echo "<?xml version="1.0""." encoding="ISO-8859-1"?>";
Lees lo que te escriben?
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #7 (permalink)  
Antiguo 06/08/2011, 13:19
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 10 meses
Puntos: 209
Respuesta: Imposible crear RSS

cambia esto echo "<?xml version="1.0""." encoding="ISO-8859-1"?>"; por

echo '<?xml version="1.0" encoding="ISO-8859-1" ?>';
__________________
aconcaguaestudio.com
  #8 (permalink)  
Antiguo 06/08/2011, 13:24
 
Fecha de Ingreso: julio-2009
Mensajes: 40
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Imposible crear RSS

Cita:
Iniciado por andresdzphp Ver Mensaje
Lees lo que te escriben?
Si, leo lo que me escriben pero no tengo la culpa de que justo publiquen cuando yo estoy escribiendo.

Cita:
Iniciado por iviamontes Ver Mensaje
cambia esto echo "<?xml version="1.0""." encoding="ISO-8859-1"?>"; por

echo '<?xml version="1.0" encoding="ISO-8859-1" ?>';
Ya he puesto eso y me sale el siguiente error:

Número de línea 32, columna 7:
echo '<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">';
------^
  #9 (permalink)  
Antiguo 06/08/2011, 13:29
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 4 meses
Puntos: 793
Respuesta: Imposible crear RSS

En la función clrAll tienes otro problema de comillas:

Código PHP:
Ver original
  1. $str=str_replace(""",""",$str);
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #10 (permalink)  
Antiguo 06/08/2011, 13:35
 
Fecha de Ingreso: julio-2009
Mensajes: 40
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Imposible crear RSS

Cita:
Iniciado por andresdzphp Ver Mensaje
En la función clrAll tienes otro problema de comillas:

Código PHP:
Ver original
  1. $str=str_replace(""",""",$str);
Lo he cambiado, pero sigue apareciendo el mismo error:

Número de línea 32, columna 7:
echo '<rss version="2.0">';
------^
  #11 (permalink)  
Antiguo 06/08/2011, 13:43
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 4 meses
Puntos: 793
Respuesta: Imposible crear RSS

Según eso el error podría estar aquí $result = mysql_query($ssql);

valida eso a ver que error te da ejemplo:

Código PHP:
Ver original
  1. <?php
  2. $result = mysql_query('SELECT * WHERE 1=1');
  3. if (!$result) {
  4.     die('Invalid query: ' . mysql_error());
  5. }
  6.  
  7. ?>

Edit: Copia la descripción de los errores para no estar adivinando...
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #12 (permalink)  
Antiguo 06/08/2011, 13:51
 
Fecha de Ingreso: julio-2009
Mensajes: 40
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Imposible crear RSS

Si intento poner el mysql_query en la misma linea donde se hace la consulta da error.

Daria el siguiente error:

Número de línea 28, columna 24:
$result = mysql_query('SELECT * WHERE 1=1');
-----------------------^
  #13 (permalink)  
Antiguo 06/08/2011, 13:53
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 4 meses
Puntos: 793
Respuesta: Imposible crear RSS

Cita:
Iniciado por crispin93 Ver Mensaje
Si intento poner el mysql_query en la misma linea donde se hace la consulta da error.

Daria el siguiente error:

Número de línea 28, columna 24:
$result = mysql_query('SELECT * WHERE 1=1');
-----------------------^

Era un ejemplo... No para que copiaras el código, el problema está en tu consulta. Probé el código con una base de datos propia y funciona perfectamente.

Edit: Quita header("Content-type: text/xml"); mientras encuentras el error...
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Última edición por andresdzphp; 06/08/2011 a las 13:59
  #14 (permalink)  
Antiguo 06/08/2011, 14:02
 
Fecha de Ingreso: julio-2009
Mensajes: 40
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Imposible crear RSS

Por fin funciona!! Muchísimas gracias!!

El problema principal era que yo guardaba el archivo como .xml, sin embargo al guardarlo con .php todo sale bien.

Muchísimas gracias a tod@!!

Etiquetas: feed, rss
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 22:15.