Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][PHP] Wywołanie funkcji w formularzu HTML
OneCode
post 1.10.2009, 11:43:17
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 29.09.2009

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


Hej,

Proszę Was o pomoc w rozwiązaniu jednego, raczej prostego problemu.

Problem jest taki, że jak wywołuję funkcję w formatce HTML, to na stronie, zawartość wywołanej funkcji wyświetla się poza tagami <form>

Przykład:

Miałem tak:

  1. $form .= '<form action="form.php" method="post">';
  2. $form .= '<table>';
  3. $form .= '<tr><td><p align="right">Miasto: </p></td><td>';
  4. $form .= '<select name="miasto">';
  5. $form .= '<option value="1">miasto 1</option>';
  6. $form .= '<option value="2">miasto 2</option>';
  7. $form .= '<option value="3">miasto 3</option>';
  8. $form .= '</select>';
  9. $form .= '</td></tr>';
  10. // tutaj dalsza część formatki
  11. $form .= '</table>';
  12. $form .= '</form>';
  13. echo $form;


prosta formatka, wszystko ładnie działa, ale napisałem sobie funkcję, która pobiera mi dane odnośnie miast z bazy danych i teraz mam tak:

  1. $m = new Funkcje();
  2. $form .= '<form action="form.php" method="post">';
  3. $form .= '<table>';
  4. $form .= '<tr><td><p align="right">Miasto: </p></td><td>';
  5. $form .= $m -> pokazMiasto();
  6. $form .= '</td></tr>';
  7. // tutaj dalsza część formatki
  8. $form .= '</table>';
  9. $form .= '</form>';
  10. echo $form;


i teraz problem jest taki, że jak wywołuję "$form .= $m -> pokazMiasto();" to zawartość tej funkcji wyświetlana jest poza <form>.

Jak ktoś może mi wytłumaczyć dlaczego tak jest, to będę bardzo wdzięczny.

Z góry dziękuję i pozdrawiam,
Bartek.
Go to the top of the page
+Quote Post
Spawnm
post 1.10.2009, 11:46:24
Post #2





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




jak wygląda pokazMiasto(); ?
masz tak echo , czy return ?
Go to the top of the page
+Quote Post
nospor
post 1.10.2009, 11:46:44
Post #3





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




a czy przypadkiem w $m -> pokazMiasto(); nie masz echo ?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
elmozaur
post 1.10.2009, 11:51:06
Post #4





Grupa: Zarejestrowani
Postów: 518
Pomógł: 18
Dołączył: 21.07.2008

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


a tak:

  1. $m = new Funkcje();
  2. $lista=$m -> pokazMiasto();
  3. $form .= '<form action="form.php" method="post">';
  4. $form .= '<table>';
  5. $form .= '<tr><td><p align="right">Miasto: </p></td><td>';
  6. $form .= $lista;
  7. $form .= '</td></tr>';
  8. // tutaj dalsza część formatki
  9. $form .= '</table>';
  10. $form .= '</form>';
  11. echo $form;
  12.  
  13.  
  14.  
  15.  
Go to the top of the page
+Quote Post
OneCode
post 1.10.2009, 12:11:59
Post #5





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 29.09.2009

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


Działa!
Dziękuję bardzo, oczywiście problem był w tym, że w $m -> pokazMiasto(); było echo a nie return.

Jeszcze raz dzięki i pozdrawiam,
Bartek.
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: 18.06.2025 - 10:18