Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] błąd
Forum PHP.pl > Forum > Przedszkole
gibonik

Wyskakuje mi taki błąd w linii: <div>" . $parametry['plik'] . "</div>
Catchable fatal error: Object of class Form could not be converted to string in /www/
wookieb
Po polsku to znaczy "Obiekt nie może zostać przekonwertowany na string". Poczytaj o __toString
gibonik
coś takiego ?
  1.  
  2. $str=(string) $parametry;
  3. $parametry=strlen($str);
  4. echo $parametry['plik'] ;
wookieb
Skąd to wziąłeś i dlaczego?
Nadal nie poczytałeś o "__toString" http://pl.php.net/__toString
Masz nawet komunikat w języku polskim więc czego w nim nie rozumiesz?
gibonik
z manuala, nie rozumiem gdzie to zamiescic i w ktorym miejscu
public function __toString()
{
return $this->foo;
}
wookieb
W twojej zmiennej $parametry['plik'] znajduje się obiekt klasy Form, który nie może zostać zamieniony na stringa co się właśnie dzieje przy operacji
  1. '<div>'.$parametry['plik'].'</div>';

Ty nie masz nic dodawać a tym bardziej wykonywać jakiś dziwnych operacji tylko masz zapobiec takiej sytuacji.
gibonik
dalej nie wiem jak zapobiec
wookieb
No my też nie jesteśmy w stanie Ci pomoć po takim małym skrawku kodu.
gibonik
mam coś takiego w jednym pliku formularz a w II chce go wyświetlić
plik.php
  1.  
  2. function pokaz($parametry = false)
  3. {
  4. $form = new Form('dane');
  5. $form->setEnctype("multipart/form-data");
  6. $form->addElement('text','nazwa','Tytuł: ','size="70"');
  7. $form->addElement('submit',NULL,'Zapisz');
  8. return $form;
  9. }
  10.  


wyniki.php
  1. function wyswietlanie($parametry = false)
  2.  
  3. $echo="
  4. <div>" . $parametry['plik'] . "</div>";
  5. return $echo;
  6. }
wookieb
No a w klasie Form jest jakaś metoda do jego wyświetlenia?? Jeżeli tak to jej użyj.
gibonik
nie mam, to cały kod, czyli co jeszcze potrzebne ?
wookieb
To po co jest klasa Form skoro nie ma ona możliwości wygenerowanie kodu formularza?
Jak nie ma takiej metody to musisz ją napisać.
gibonik
myslalam, że to już wszystko sad.gif nie wiem jak to zrobić
wookieb
A my skąd mamy wiedzieć?
Człowieku nawet nie wiesz co ty piszesz w tym kodzie i wymagasz jakiejkolwiek pomocy? Baaa to definitywne żebranie. Temat do zamknięcia.
gibonik
chce się nauczyć, a kto pyta nie błądzi, a tu jak zwykle...
thek
Kto pyta nie błądzi, ale zadawać pytania też trzeba umieć. Już za samą nazwe tematu kwalifkuje się on do zamknięcia. Widać, że chcesz pomóc, ale skądś wziąłeś kod, nie wiemy nawet jak wygląda klasa Form, bo przecież metody addElement i setEnctype nie wziąły się z powietrza. Na bank w pliku klasy JEST jakaś metoda tworząca formularz. Pewnie coś z render w nazwie lub coś w tendeseń, ale nie przejrzałeś tego i od razu piszesz, że "nie ma". Przejrzyj metody klasy Form a zapewne któraś zwraca skonwertowany dostringa formularz i to jej użyj w tamtym miejscu gdzie sypie błąd.

Dlatego przykro mi, ale za nazwę tematu + niedostateczne, jak mniemam, przejrzenie kodu jakiejś gotowej klasy (a co się z tym wiąże zapewne też nie czytaleś jej dokumentacji/manuala) zamykam temat.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.