Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> podzielenie kodu na funkcje, nie dizała
BugsBunny
post 28.02.2006, 21:20:09
Post #1





Grupa: Zarejestrowani
Postów: 206
Pomógł: 4
Dołączył: 2.04.2005

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


było tak
  1. <?php
  2. $zapytanie = 'SELECT * FROM `forum_fora` ';
  3. include ('dane.inc');
  4. $dblink = @mysql_connect($host,$user,$pass);
  5.  if (empty($dblink))
  6.  { echo "błąd przy podłączaniu do bazy dancyh";
  7.  }
  8. if (mysql_select_db($db,$dblink) !== TRUE)
  9. { echo "błądz przy wybieraniu bazy danych";
  10. }
  11. $wynik = mysql_query($zapytanie);
  12. for ($i = 0; $i < mysql_num_rows($wynik); $i++)
  13.  {
  14.  $wiersze = mysql_fetch_array($wynik);
  15.  
  16. $dforum[$i] = array('FORUMID' => $wiersze['fforum_id'],
  17.  'TYTUL' => $wiersze['ftytul'],
  18. 'PODTYTUL' => $wiersze["fpodtytul"]);
  19.  }
  20.  
  21.  
  22. $tpl = new Chameleon;
  23. $tpl -> load('forum.tpl');
  24. $tpl -> setVar('FORUM',$dforum);
  25. $tpl -> display();
  26.  
  27. ?>


zrobiłęm potem tak
  1. <?php
  2.  
  3.  
  4. $tpl = new Chameleon;
  5. $tpl -> load('header.tpl');  
  6. $tpl -> setVar('TYTUL', 'FORUM');
  7. $tpl -> display();  
  8. $buffer = $tpl -> parse();
  9.  
  10. $zapytanie = 'SELECT * FROM `forum_fora` ';
  11.  
  12. $wynik = pobierz($zapytanie); // !!!!!!!!chodzi o to
  13. for ($i = 0; $i < mysql_num_rows($wynik); $i++)
  14.  {
  15.  $wiersze = mysql_fetch_array($wynik);
  16.  
  17. $dforum[$i] = array('FORUMID' => $wiersze['fforum_id'],
  18.  'TYTUL' => $wiersze['ftytul'],
  19. 'PODTYTUL' => $wiersze["fpodtytul"]);
  20.  }
  21.  
  22.  
  23. $tpl = new Chameleon;
  24. $tpl -> load('forum.tpl');
  25. $tpl -> setVar('FORUM',$dforum);
  26. $tpl -> display();
  27.  
  28. // a to jest ta funkcja
  29.  
  30.  
  31. function pobierz($co)
  32. {
  33. include ('dane.inc');
  34. $dblink = @mysql_connect($host,$user,$pass);
  35.  if (empty($dblink))
  36.  { echo "błąd przy podłączaniu do bazy dancyh";
  37.  }
  38.  echo"dobrze2";
  39.  if (mysql_select_db($db,$dblink) !== TRUE)
  40. { echo "błądz przy wybieraniu bazy danych";
  41. }
  42. $zwroc = mysql_query($co,$dblink);
  43. if ($wynik !== TRUE)
  44. {echo "pobranie nie zawiera danych";  
  45. }
  46.  
  47. return $zwroc;
  48.  
  49. }
  50.  
  51. ?>


a błąd jest taki:
Kod
Fatal error: Call to undefined function pobierz() in C:\Program Files\WebServ\httpd-users\forum\test.php on line 15



Zaczęło działać ale jak przekopiuję treść funkcji do tego samego pliku.
Ale normalnie ona znajduje się w funkcje.php

zrobiłem tak:
  1. <?php
  2. include ('funkcje.php');
  3. ?>

i tak jakby nie dodawało
próbowałem require() i require_once() ale efekt taki sam sadsmiley02.gif

Ten post edytował BugsBunny 28.02.2006, 21:33:27
Go to the top of the page
+Quote Post
dr_bonzo
post 28.02.2006, 22:24:18
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Definicja funkcji musi znalezc sie przed jej wywolaniem:
  1. <?php
  2. function pobierz()
  3. {
  4. ....
  5. }
  6.  
  7. $x = pobierz();
  8. ?>


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
nospor
post 28.02.2006, 22:33:45
Post #3





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




@dr_bonzo jestes w błędzie. nie musi winksmiley.jpg
Prosty przyklad do analizy:
  1. <?php
  2. pobierz();
  3.  
  4. function pobierz(){
  5. echo 'aaaa';
  6. }
  7. ?>
pozatym juz napisal, ze skrypt co pokazal to mu dziala. nie dzial mu gdy da include.

Problem lezy w tym, że include musi być przed wywolaniem funkcji a nie przed.
żle:
  1. <?php
  2. pobierz();
  3. include('plik.php');
  4.  
  5. ?>


dobrze:
  1. <?php
  2.  
  3. include('plik.php');
  4. pobierz();
  5.  
  6. ?>


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

"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
BugsBunny
post 1.03.2006, 10:45:13
Post #4





Grupa: Zarejestrowani
Postów: 206
Pomógł: 4
Dołączył: 2.04.2005

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


no przecież tak też mam
w index.php
  1. <?php
  2. include ('funkcje.php');
  3.  
  4. // jakiś tam kod
  5.  
  6.  
  7. pobierz();
  8. ?>

i nie dizała a jak wkleje zawartoś plku funkcje.php to działa blink.gif
Go to the top of the page
+Quote Post
nospor
post 1.03.2006, 10:48:43
Post #5





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




Cytat
no przecież tak też mam
Nie bulwersuj się tak winksmiley.jpg
W kodzie co pokazales w pierwszym poscie nie masz nigdzie include. Masz tylko wyrwane z kontekstu jedno include, ale nie wiem gdzie je dales winksmiley.jpg


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

"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
dr_bonzo
post 1.03.2006, 11:12:52
Post #6





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Cytat
@dr_bonzo jestes w błędzie. nie musi winksmiley.jpg
No tak, sprawdzilem, to przez C smile.gif


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
BugsBunny
post 1.03.2006, 16:22:54
Post #7





Grupa: Zarejestrowani
Postów: 206
Pomógł: 4
Dołączył: 2.04.2005

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


no wieć dlaczeego może to nie działać?questionmark.gif? Może jakieś ustawienia co do serwera czy coś questionmark.gif
Go to the top of the page
+Quote Post
nospor
post 1.03.2006, 16:26:19
Post #8





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




1) masz jakis blad w pliku, ktory includujesz
lub
2) nie widzi pliku, ktory includujesz. zla sciezka, jakas literowka


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

"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
BugsBunny
post 1.03.2006, 20:34:01
Post #9





Grupa: Zarejestrowani
Postów: 206
Pomógł: 4
Dołączył: 2.04.2005

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


FUNCKCJE.php
  1. <?php 
  2. // funkcje.php
  3.  
  4. /* pobierz -> pobiera zapytanie SQL 
  5. a zwaraca dane które trzeba poza funkcją przypisać do tablicy */
  6. function pobierz($co)
  7. {
  8. include ('dane.inc');
  9. $dblink = @mysql_connect($host,$user,$pass);
  10.  if (empty($dblink))
  11.  { echo "błąd przy podłączaniu do bazy dancyh";
  12.  }
  13.  echo"dobrze2";
  14.  if (mysql_select_db($db,$dblink) !== TRUE)
  15. { echo "błądz przy wybieraniu bazy danych";
  16. }
  17. $zwroc = mysql_query($co,$dblink);
  18. if ($wynik !== TRUE)
  19. {echo "pobranie nie zawiera danych";  
  20. }
  21.  
  22. return $zwroc;
  23.  
  24. }
  25. function rozlacz ()
  26. {  
  27. mysql_close($dblink);
  28.  
  29. }
  30.  
  31. ?>



TEST.php
  1. <?php
  2.  
  3.  
  4. require_once ('class.chameleon.php');
  5. require_once ('funkcje.php');
  6.  
  7. $tpl = new Chameleon;
  8. $tpl -> load('header.tpl');  
  9. $tpl -> setVar('TYTUL', 'FORUM');
  10. $tpl -> display();  
  11. $buffer = $tpl -> parse();
  12.  
  13. $zapytanie = 'SELECT * FROM `forum_fora` ';
  14.  
  15. $wynik = pobierz($zapytanie);
  16. for ($i = 0; $i < mysql_num_rows($wynik); $i++)
  17.  {
  18.  $wiersze = mysql_fetch_array($wynik);
  19.  
  20. $dforum[$i] = array('FORUMID' => $wiersze['fforum_id'],
  21.  'TYTUL' => $wiersze['ftytul'],
  22. 'PODTYTUL' => $wiersze["fpodtytul"]);
  23.  }
  24.  
  25.  
  26. $tpl = new Chameleon;
  27. $tpl -> load('forum.tpl');
  28. $tpl -> setVar('FORUM',$dforum);
  29. $tpl -> display();
  30.  
  31.  
  32.  
  33. $tpl = new Chameleon;
  34. $tpl -> load('footer.tpl');
  35. $tpl -> display();
  36. ?>
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.07.2025 - 03:40