Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z funkcją children() (simplexml), Skrypt wyrzuca błąd "Can't use method return value.."
bubekson
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 13.01.2009

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


Cześć.

Jestem w trakcie pisania skryptu do odczytu i modyfikacji pliczku xml.
Całość oparłem o pętlę foreach- pierwszy skrypt odczytuje i wyświetla oddzielne formularze do modyfikacji każdej komórki.
Treść pierwszego:

  1. <?
  2. $xml = simplexml_load_file("test.xml");
  3.  
  4. foreach($xml->children() as $child)
  5. {
  6. echo "<form name=Edycja2 action=parser.php method=post><td><tr></tr><tr><td width=78><textarea rows=5 cols=30 name=" . $child->getName() . ">" . $child . "</textarea></td><td width=78><input type=submit value=Potwierdzam ></td></tr></form>";
  7. }
  8. ?>


^ I tutaj żadnego problemu nie ma, wszystko działa jak powinno.
Drugi skrypt otrzymuje zmienną i modyfikuje komórkę.

  1. <?php
  2. $xml = simplexml_load_file("test.xml");
  3.  
  4. foreach($xml->children() as $child){
  5. if (!empty($_POST[$child->getName()])){
  6. $child = $_POST[$child->getName()];
  7. $xml->children() = $child;
  8.  
  9.  
  10. foreach($xml->children() as $child) //Sprawdzam czy dokonał zmian.
  11. {
  12. echo $child->getName() . ": " . $child . "<br />";
  13. }
  14. }}
  15. ?>


^w tym skrypcie mam problem. Wszystko działa jak powinno jeśli chodzi o odbiór zmiennej ( bo gdy usunę "()" w linijce
"$xml->children() = $child;", to wtedy przesłany wynik pokazuje się w nowej komórce (o nazwie children)), ale gdy chcę przypisać $child do children() to skrypt wywala błąd :


Fatal error: Can't use method return value in write context in D:\blablablabla\parser.php on line 7


Co robię źle??




Czy ktokolwiek jest w stanie udzielić jakiejkolwiek odpowiedzi? Nie wiem, może to bug php albo coś. Może źle się do tego zabieram. Szukałem wszędzie ale nigdzie nie ma rozwiązania.

Go to the top of the page
+Quote Post

Posty w temacie


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 Aktualny czas: 19.08.2025 - 21:41