Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Sklejanie stringów i funkcji
Forum PHP.pl > Forum > Przedszkole
ermar
Witam.

Trafiłem na pewien problem.

Sklejam sobie w jedną zmienną różne dane (zwykły tekst przemieszany z danymi z bazy).
Przykładowo:
  1. $tresc .= '<option value="'.$r[1].'">'.$r[3].' | '.$r[2].' | '.$r[1].'</option>';
  2. $tresc .= $zmienna->show();


To co mam w drugiej linii wypada mi poza obieg dokumentu html.
Nieumiejętnie to sklejam w całość. Czy mógłbym prosić o podpowiedź jak prawidłowo podstawić to zmiennej $tresc?

Pozdrawiam


wookieb
Cytat(ermar @ 8.01.2011, 21:04:17 ) *
To co mam w drugiej linii wypada mi poza obieg dokumentu html.

No a co tam masz w tej zmiennej?

Cytat
Nieumiejętnie to sklejam w całość. Czy mógłbym prosić o podpowiedź jak prawidłowo podstawić to zmiennej $tresc?

Nie bo nie sprecyzowałeś tematu z NASZEGO punktu widzenia tylko ze swojego, czyli przy twoim komputerze, przy twoim kontekście myślowym, przy twoich danych których nam niestety brakuje. Co oznacza, żebyś na przyszłość nauczył się dawać wystarczającą liczbę informacji.
ermar
Hmm przepraszam jeżeli niejasno się wyraziłem.

Wstawiam edytor tekstowy SPAW

  1. include("spaw.inc.php");
  2.  
  3. $spaw1 = new SpawEditor("spaw1");
  4.  
  5.  
  6. $tresc .= '<option value="'.$r[1].'">'.$r[3].' | '.$r[2].' | '.$r[1].'</option>';
  7.  
  8.  
  9. $tresc .= $spaw1->show();
  10.  

Kod skracam bo raczej jest tu nieważny W sumie jest to formularz.

Normalnie używam tego tak (dla zobrazowania przykładu)
  1. <input type="text" name="slowa_kluczowe"><br><br>
  2. <label>Treść artykułu</label><br><br>
  3. <?php $spaw1->show(); ?>


Kiedy staram się wkleić $spaw1 -> show() w zmienną $tresc edytor wyświetla mi się - ale zupełnie poza ciałem dokumentu. Najpierw leci kod edytora a dopiero potem <!DOCTYPE HTML PUBLIC "-//W.....

Mam nadzieję że teraz jaśniej to wytłumaczyłem

Pozdrawiam
wookieb
  1. $tresc .= $spaw1->getHtml();


Ale i tak kiedyś Ci się przyda zajrzeć do tego ob_start i funkcji do niej rodzimych.
Poza tym chyba mi się wydaje, że umieszczasz ten edytor w środku "<select>"?
ermar
Kurcze - naprawdę wielkie dzięki. Pomogło to co podałeś.
Dlaczego taka składnia ? Mógłbyś wytłumaczyć pokrótce skąd ten ->getHtml?

I jak by co to nie wklejam w selecta smile.gif Skróciłem kod do maksimum bo nie chciałem zaśmiecać forum, wiedziałem gdzie jest błąd tylko nie wiedziałem dlaczego.

ob_start mam w głównym indeksie i jest odpalone - cały szablon na tym biega.
W każdym bądź razie jeszcze raz wielkie dzięki. Wypalam się przed monitorem od 7 rano i już mało kojarzę więc naprawdę bardzo mi pomogłeś.

Pozdrawiam
wookieb
getHtml w przeciwieństwie do show nie "wyświetla" edytora tylko zwraca jego kod. Oczywiście nie jest to żadna magiczna metoda php. Po prostu zassałem ten edytor i spojrzałem w źrodło.
  1. /**
  2.   * Outputs editor's HTML code to the client
  3.   */
  4. function show()
  5. {
  6. echo $this->getHtml();
  7. }

Gdyby nie było getHtml musiałbyś pobawić się z dodatkowym ob_start
ermar
Właśnie miałem napisać, że działa najstarsza metoda na błędy : Jak coś nie działa i wszystko już zawiodło sprawdź w instrukcji.

wycinek z ich manuala
"And then you replace your textarea with a call to SPAW's show() method (or getHtml() if you want to get SPAW's code in a variable for later use)"

W każdym bądź razie jeszcze raz dzięki.
Pozdrawiam

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.