Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Wstawienie formularza [OOP]
Forum PHP.pl > Forum > Przedszkole
Sa1rus
Witam, jestem nowy na forum wiec za wszelkie bledy z gory przepraszam... a wiec mam spory problem z wstawieniem kodu PHP w zawartosc (patrz kod ponizej). Chodzi mi dokladnie o formularz pocztowy. Prosze o szybka pomoc.

  1. <?php
  2. require ('strona.inc');
  3.  
  4.  $kontakt_form = new Strona;
  5.  $kontakt_form->zawartosc=
  6.  'jak tu wstawic formularz questionmark.gif ';
  7.  
  8.  $kontakt_form->Wyswietl();
  9.  
  10.  ?>
strife
Popraw BB Code ([ php ]). Jeśli to jest jakiś plik .inc i nie jest parsowany, no to możesz go wczytać 
ak:

  1. <?php
  2. $kontakt_form = new Strona;
  3. $kontakt_form->zawartosc = file_get_contents('formularz.inc');  
  4. $kontakt_form->Wyswietl();
  5. ?>


Pozdrawiam.
Sa1rus
Niestety nie działa. zamiast przetwarzac PHP, na stronie jest wyswietlany czysty kod PHP.
erix
A co robi funkcja Wyswietl?

Podejrzewam, że to jest zwykłe echo" title="Zobacz w manualu PHP" target="_manual. Zamień na include" title="Zobacz w manualu PHP" target="_manual/require" title="Zobacz w manualu PHP" target="_manual i będzie ok. :]
Sa1rus
No niby wyswietla tak jak powinno, ale nie wiem czemu ucielo mi wogole z div'a. jest nad zawartoscia strony.
Funkcja Wyswietl() wyswietla caly schemat strony (menu, poustawiana grafike, stopke) a za pomoca $this->zawartosc chcialem w konktetnym miejscu (dokladnie w divie) wyswietlac zawartosc poszczegolnych podstron. Wszystkie chodza, tylko ta nie chce (dokladnie formularz kontaktowy)..
erix
Sory, z fusów nie umiem wróżyć. ;]
Sa1rus
no nie wiem biggrin.gif Chodzi mi o to co moze byc przyczyna tego ze nie wyswietla mi sie w divie - jak wogole mozna umiescic kod php w
  1. <?php
  2. $kontakt_form->zawartosc= ;
  3. ?>
bo html sie wyswietla poprawnie a php nie. dopiero zaczynam nauke php wiec nie wiem od czego to moze byc zalezne. mozliwe ze jest to jakis banał, ale nic mi do głowy nie przychodzi, dlatego proszę o jakąś pomoc.
erix
A jak mam Ci powiedzieć, jeśli w ogóle nie wiem, co $kontakt_form->Wyswietl(); wykonuje przy wywołaniu?

Ale z tego, co podejrzewam:
Cytat
bo html sie wyswietla poprawnie a php nie.

Podstawiaj do zawartosc ścieżkę do pliku i includuj go. Jak będziesz tylko wyświetlał, to trudno, żeby jakikolwiek kod PHP się wykonywał. ;]
Sa1rus
Chciałem zeby $kontakt_form->Wyswietl() wyswietlal i przetwarzal formularz kontaktowy. Zrobilem tak:
  1. <?php
  2.  
  3. require ('strona.inc');
  4.  
  5. $kontakt_form = new Strona;
  6. $kontakt_form->zawartosc = require('formularz.inc');
  7.  
  8. $kontakt_form->Wyswietl();
  9.  
  10. ?>


no i chcialem zeby wyswietlalo mi sie to w ramce w konkretnym miejscu. div jest wypozycjonowany tak jak chcialem, ale w tym przypadku wyswietla mi sie poza calym szablonem strony (dokladnie nad zawartoscia)
erix
A nie możesz po prostu podać kodu Wyswietl()?

require" title="Zobacz w manualu PHP" target="_manual tak Ci nie zadziała.
Sa1rus
  1. <?php
  2. public function Wyswietl()
  3. {
  4. echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">";
  5. echo "<html>\n<head>\n";
  6. $this->Meta();
  7. echo "</head>\n<body>\n";
  8. $this->Szablon();
  9. $this->Menu($this->przyciski);
  10. $this->Tresc();
  11. $this->Stopka();
  12. echo "</body>\n</html>";
  13. }
  14.  
  15.  
  16. public function Tresc()
  17. {
  18. echo "<div id=\"kontener3\">";
  19.  
  20. echo $this->zawartosc;
  21.  
  22. echo "</div>";
  23. }
  24. ?>
erix
Cytat
  1. <?php
  2. echo $this->zawartosc;
  3. ?>

echo" title="Zobacz w manualu PHP" target="_manual
Sa1rus
no i co jest nie tak w tym kodzie ?
erix
A czy zajrzałeś do manuala?
Co robi echo" title="Zobacz w manualu PHP" target="_manual?
Sa1rus
no zajrzalem, wyswietla ciag znakow i nie wyswietla funkcji. Czyli z tego co rozumiem wyswietli czysty html ale nie php. i wlasnie to robi, a wiec czy mozesz mnie jakos naprowadzic, co zadziala w tym przypadku.
erix
No, dobrze, że choć zrozumiałeś, o co mi chodzi.

Przeczytaj wcześniejsze moje posty; rozwiązanie Ci już podałem.
Sa1rus
po zastosowaniu
  1. <?php
  2. include $this->zawartosc;
  3. ?>


wyskakuje mi
  1. <?php
  2. [b]Warning[/b]: Strona::include(1) [[url="http://localhost/function.Strona-include"]function.Strona-include[/url]]: failed to open stream: No error in [b]C:wampwwwpoligrafia titstrona.inc[/b] on line [b]131[/b]
  3.  
  4. [b]Warning[/b]: Strona::include() [[url="http://localhost/function.include"]function.include[/url]]: Failed opening '1' for inclusion (include_path='.;C:php5pear') in [b]C:wampwwwpoligrafia titstrona.inc[/b] on line [b]131[/b]
  5. ?>


udaje mi sie wyswietlic tekst to caly czas pojawia sie nad calym szablonem strony a nie w nim
erix
Bo include" title="Zobacz w manualu PHP" target="_manual'a masz użyć w funkcji wyświetl.
Sa1rus
i tak mi nie chodzi, niewiem co robie zle , robie tak:

  1. <?php
  2. public function Wyswietl()
  3. {
  4. echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">";
  5. echo "<html>\n<head>\n";
  6. $this->Meta();
  7. echo "</head>\n<body>\n";
  8. $this->Szablon();
  9. $this->Menu($this->przyciski);
  10. echo "<div id=\"kontener3\">";
  11. include $this->zawartosc;
  12. echo "</div>";
  13. $this->Stopka();
  14. echo "</body>\n</html>";
  15. }
  16. ?>


a formularz umieszczam:

  1. <?php
  2. $kontakt_form->zawartosc = include('formularz.inc');
  3. ?>


i i tak mi nie chodzi. Wez jak mozesz mi to wyjasnij bo juz cierpliwosc trace, a to dopiero moje poczatki z php ;]
erix
A czy będziesz include" title="Zobacz w manualu PHP" target="_manual'ował plik, którego nazwa, to kod zawarty w tym pliku? tongue.gif

Cytat
Wez jak mozesz mi to wyjasnij bo juz cierpliwosc trac

To groźba?
Sa1rus
to nie grozba tylko prosba ;] wiec jak mozesz to mi to wyjasnij tak na chlopski rozum, moze kiedys to wszystko ogarne ;]
wlamywacz
To nie jest kod obiektowy a jedynie strukturalny zamknięty w klasy, naucz się pierw jak działają funkcję, co zwracają jak to wyświetlać a dopiero póxniej weź się za obiektowe podejście.
erix
Przeanalizuj dokładnie poniższe zdanie:
Cytat
A czy będziesz include'ował plik, którego nazwa, to kod zawarty w tym pliku?
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.