Foros del Web » Creando para Internet » Flash y Actionscript »

xml php mysql flash ERROR!!!

Estas en el tema de xml php mysql flash ERROR!!! en el foro de Flash y Actionscript en Foros del Web. Hola a todos estoy haciendo un libro de visitas con flash, php, xml y mysql.. todo esta bien en el ingreso, cuando hago un ingreso ...
  #1 (permalink)  
Antiguo 23/10/2007, 08:57
 
Fecha de Ingreso: noviembre-2004
Mensajes: 1
Antigüedad: 20 años
Puntos: 0
De acuerdo xml php mysql flash ERROR!!!

Hola a todos estoy haciendo un libro de visitas con flash, php, xml y mysql.. todo esta bien en el ingreso, cuando hago un ingreso con tildes la db los recibe muy bien el problema es al leerlos, para despues mostrar en el swf, el codigo que utilizo en el php es:

con esto leo los registros

$row=mysql_num_rows($consulta);
if($row>0){
print "&erroMensagem=0";
$libro = "<?xml version='1.0'?><libro>";
for($i=0; $i<$row; $i++) {
$nombre = urlencode(htmlspecialchars(mysql_result($consulta, $i,"nombre")));
$email = mysql_result($consulta,$i,"email");
$fecha = mysql_result($consulta,$i,"fecha");
$lugar = urlencode(htmlspecialchars(mysql_result($consulta, $i,"lugar")));
$comentario = urlencode(htmlspecialchars(mysql_result($consulta, $i,"comentario")));
$libro .= ("<comentarios nombre='$nombre' email='$email' lugar='$lugar' fecha='$fecha' comen='$comentario'/>");
print "$libro";
}
$libro .= "</libro>";
$archivo = fopen("libro.xml", "w");
fwrite($archivo, utf8_encode($libro));
fclose($archivo);
} else {
print "&erro=NO SE ENCONTRO NINGUN REGISTRO!&erroMensagem=1";
}

Genero un xml, pero dentro del xml me pone esto

?xml version='1.0'?>
<libro><
comentarios nombre='j' email='jj@
[email protected],' lugar='jdj' fecha='20/10/2007' comen='%C3%AD'/><comentarios nombre='ss' email='[email protected]' lugar='kkk' fecha='20/10/2007' comen='%26amp%3BAtilde%3B%26amp%3Bshy%3B'/>
<comentarios nombre='ii' email='[email protected]' lugar='sss' fecha='20/10/2007' comen='%26amp%3BAtilde%3B%26amp%3Bshy%3B'/</libro>

figense que todas las tildes y eñes me salen mal.. cual es el error

gracias quien me ayude con sus conejos.. ya he utilizado utf8_encode, y todo lo que he leido por ahi...
  #2 (permalink)  
Antiguo 23/10/2007, 14:21
Avatar de deet  
Fecha de Ingreso: mayo-2005
Ubicación: Córdoba - Argentina
Mensajes: 269
Antigüedad: 19 años, 6 meses
Puntos: 1
Re: xml php mysql flash ERROR!!!

en la línea 4 del código que posteste cambia:

$libro = "<?xml version='1.0'?><libro>";

por esto

$libro = '<?xml version="1.0" encoding="iso-8859-1"?><libro>';

te faltaba el tipo de codificación
  #3 (permalink)  
Antiguo 24/10/2007, 00:17
Avatar de yoseman  
Fecha de Ingreso: diciembre-2003
Ubicación: Alicante (Spain)
Mensajes: 471
Antigüedad: 20 años, 11 meses
Puntos: 5
Re: xml php mysql flash ERROR!!!

Quería simplemente añadir como curiosidad que además de añadir en el php la función echo para que devuelva la línea propia de encabezado del xml en si, esto es:

Código PHP:
echo '<?xml version="1.0" encoding="iso-8859-1"?>' . "\n";
Para indicar a un navegador que se trata de un documento xml válido, en el php tb hay que usar la función header para decir que tipo de cabecera:
Código PHP:
header("Content-type: text/xml\n\n");
echo '<?xml version="1.0" encoding="iso-8859-1"?>' . "\n";
La diferencia está simplemente en que con la primera opción al llamar a la dirección dónde esté el script php el navegador no mostrará nada(si en el código fuente dónde veremos nuestro xml) y con la segunda nos mostrará el documento como si fuese un xml.

Salu2 ;)
__________________
[+]
[+]

Última edición por yoseman; 24/10/2007 a las 01:24
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 22:27.