Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Problem z zasięgiem zmiennych
Forum PHP.pl > Forum > Przedszkole
-Element-
Witam,

Dostałem do przerobienia skrypt, który generuje pdfa z html'a.

Muszę zrobić opcję, żeby można było część tego html'a pobrać z bazy.
Ogólnie działa, ale jest problem związany z zasięgiem zmiennych (chyba).

W tabeli "wnioski" jest pole "tresc", które zawiera czysty tekst i linijkę "echo $input['podpis']; ".
Ten tekst pierwotnie był na sztywno wpisany w pliku.

Kiedy próbuję wykonać poniższy kod:

  1. $query = $this->db->get('wnioski');
  2. foreach ($query->result() as $row)
  3. {
  4. echo $row->tresc;
  5. echo $input['podpis'];
  6. }


to w pdfie, w miejscu gdzie wywołuję $row wyświetla się komunikat:
"A PHP Error was encountered
Severity: Notice
Message: Undefined variable: input
Filename: include/dompdf.cls.php(408) : eval()'d code
Line Number: 310"

A następna linijka "echo $input['podpis'];" wyświetla prawidłowe dane.

Będę wdzięczny za wszelką pomoc.

Skrypt: http://wklej.org/id/857369/

d3ut3r
  1. if (isset($input['podpis'])){ echo $input['podpis']; }


Notice, który dostajesz mówi, że próbujesz użyć zmiennej która nie została nigdzie zdefiniowana.

Gość
Dzięki za szybką odpowiedź.

Jednak nie do końca wiem jak temu zaradzić smile.gif Dlaczego zmienna wywołana bezpośrednio się wyświetla a pobrana z bazy już nie?
sowiq
A co ma wspólnego komunikat błędu z kodem, który wkleiłeś?

Kod
Filename: include/dompdf.cls.php(408) : eval()'d code
Line Number: 310


Domyślam się, że wklejony kod nie pochodzi z tego pliku?
Gość
http://wklej.org/id/857389/ kod, do którego odnosi się komunikat.

Pytanie dlaczego w kodzie http://wklej.org/id/857369/
linijka 308 daje błąd
linijka 309 działa

mimo, że $row->tresc pobiera wartość $input['podpis']
nospor
echo $input['podpis']; - to wykonuje się przed EVAL. W tym momencie zmienna $input istnieje
echo $row->tresc; To też wykonuje się przed EVAL ale to generuje kolejny kod php, który to już wywoływany jest w EVAL. A w EVAL zmienna $input nie istnieje

Gość
Czyli, że się nie da tak łatwo? smile.gif
Czy jest jakieś obejście tego?
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.