Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Błąd parsowania XML, deklaracja XML lub tekstu nie jest na początku jednostki
dark_dvb
post 28.12.2008, 22:17:54
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 28.12.2008

Ostrzeżenie: (0%)
-----


Witam wszystkich!
Bardzo proszę o pomoc, wciaz wywala Błąd parsowania XML, żródło:
  1. <?php
  2.  
  3. $wpis = strip_tags($_POST['wpis']);
  4. $nick = strip_tags($_POST['nick']);
  5. $email = strip_tags($_POST['email']);
  6. $gg = strip_tags($_POST['gg']);
  7.  
  8. $time = time();
  9.  
  10. require("connect.php");
  11.  
  12. if(!empty($wpis) && !empty($nick)) {
  13.  
  14. $query = "insert into kg values(null,'$wpis','$nick','$gg','$email','$time')";
  15. $result = $db->Execute($query);
  16. }
  17.  
  18. $query = "select * from kg order by data desc";
  19. $result = $db->Execute($query);
  20. $num = $result->RecordCount();
  21.  
  22. header('Content-type: application/xml; charset="utf-8"');
  23.  
  24. $dom = new DOMDocument();
  25.  
  26. $response = $dom->createElement('response');
  27. $dom->appendChild($response);
  28.  
  29. for($i = 0 ;$i < $num ; $i++)
  30. {
  31.  
  32. $nowy_wpis = $dom->createElement('nowy_wpis');
  33.  
  34.  
  35. $wpis = $dom->createElement('wpis');
  36. $wpis_data = $dom->createTextNode($result->fields['wpis']);
  37. $wpis->appendChild($wpis_data);
  38. $nowy_wpis->appendChild($wpis);
  39.  
  40.  
  41. $nick = $dom->createElement('nick');
  42. $nick_data = $dom->createTextNode($result->fields['nick']);
  43. $nick->appendChild($nick_data);
  44. $nowy_wpis->appendChild($nick);
  45.  
  46.  
  47. $email = $dom->createElement('email');
  48. $email_data = $dom->createTextNode($result->fields['email']);
  49. $email->appendChild($email_data);
  50. $nowy_wpis->appendChild($email);
  51.  
  52.  
  53. $gg = $dom->createElement('gg');
  54. $gg_data = $dom->createTextNode($result->fields['gg']);
  55. $gg->appendChild($gg_data);
  56. $nowy_wpis->appendChild($gg);
  57.  
  58.  
  59.  
  60. $data = $dom->createElement('data');
  61. $data_data = $dom->createTextNode(date("Y-m-d H:m:s",$result->fields['data']));
  62. $data->appendChild($data_data);
  63. $nowy_wpis->appendChild($data);
  64.  
  65. $response->appendChild($nowy_wpis);
  66. $result->MoveNext();
  67. }
  68.  
  69. $xmlString = $dom->saveXML();
  70.  
  71. echo $xmlString;
  72.  
  73. ?>

Czy ktoś wpadł na to, gdzie może być błąd??

Ten post edytował dark_dvb 28.12.2008, 23:21:33
Go to the top of the page
+Quote Post
dr_bonzo
post 28.12.2008, 23:09:29
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


Po pierwsze to pokaz wygenerowany XML a nie kod php.
2. Kod umieszczaj wewnatrz [ php]
tego czegos[/ php] - jest czytelniejszy

Ten post edytował dr_bonzo 28.12.2008, 23:09:49


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
dark_dvb
post 28.12.2008, 23:23:46
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 28.12.2008

Ostrzeżenie: (0%)
-----


W jaim sensie wygenerowany?
Przeglądarka zwraca mi:

Błąd parsowania XML: deklaracja XML lub tekstu nie jest na początku jednostki
Obszar: http://localhost/p/ksiega_gosci.php
Numer linii: 1, kolumna 3: <?xml version="1.0"?>
--^
Go to the top of the page
+Quote Post
batman
post 28.12.2008, 23:29:35
Post #4





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Zakomentuj header, a zamiast echo daj
  1. <?php
  2. ?>
Sprawdź, czy nie masz jakichś spacji przed <?xml. Możliwe, że masz jakiś warning lub notice.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
dark_dvb
post 28.12.2008, 23:35:51
Post #5





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 28.12.2008

Ostrzeżenie: (0%)
-----


Zastosowałem się do wskazówek kol. batmana i to co zwraca przegladarka (FF):
 string(818) "<?xml version="1.0"?> <response><nowy_wpis><wpis>1</wpis><nick>1</nick><email>1@1.pl</email><gg>11</gg><data>2008-12-28 21:12:27</data></nowy_wpis><nowy_wpis><wpis>3</wpis><nick>3</nick><email>3@3.pl</email><gg>3</gg><data>2008-12-28 20:12:36</data></nowy_wpis><nowy_wpis><wpis>2</wpis><nick>2</nick><email>2@2.pl</email><gg>22</gg><data>2008-12-28 20:12:18</data></nowy_wpis><nowy_wpis><wpis>1</wpis><nick>1</nick><email>1@1.pl</email><gg>1</gg><data>2008-12-28 20:12:53</data></nowy_wpis></response> "

Gdzie szukać spacji przed <?xml questionmark.gif

Ten post edytował dark_dvb 28.12.2008, 23:50:51
Go to the top of the page
+Quote Post
batman
post 29.12.2008, 08:27:46
Post #6





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Sama treść wydaje się być ok. Spróbuj następujące rzeczy zrobić (po kolei lub wszystkie na raz):
1. Przenieś header bezpośrednio nad echo.
2. Włącz raportowanie błędów na poziome notice.
3. Wszystkie dane tekstowe wstaw w cdata.
4. Zmień content-type na text/xml.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
dark_dvb
post 29.12.2008, 09:21:39
Post #7





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 28.12.2008

Ostrzeżenie: (0%)
-----


Niestety nic nie pomogło :-(
Go to the top of the page
+Quote Post
batman
post 29.12.2008, 09:34:20
Post #8





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Spróbuj jeszcze ustawić kodowanie znaków w xml-u na utf-8 i zapisz plik w utf-8. Sprawdź, czy nie masz znaków BOM na początku pliku. No i sprawdź w kilku przeglądarkach. Możliwe, że któraś z nich poda Ci więcej informacji o błędzie.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
dark_dvb
post 29.12.2008, 22:35:52
Post #9





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 28.12.2008

Ostrzeżenie: (0%)
-----


Niestety nic to nie dało...

Czy mógłby ktoś spróbować przetestować ten kodu u siebie?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 26.04.2025 - 05:26