Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Funkcja dziala paranormalnie
Forum PHP.pl > Forum > Przedszkole
Bojakki
Napisalem prosta jak drut funkcje:

  1. <?php
  2.  
  3. function take_region_banner($region, $id, $part){
  4. $katalog=id($id, $region);
  5. $file= "$region/$katalog/$part.gif";
  6.  if (file_exists($file))
  7.  {
  8. echo '<img src="'.$region.'/'.$katalog.'/'.$part.'.gif">';
  9.  }else{
  10.  echo '<img src="layout/no_image.gif">';
  11.  }
  12. }
  13.  
  14. ?>


Jezeli chodzi o samo dzialanie to jest OK, tzn. wyswietla obrazek taki jaki powinien byc. Caly problem polega na tym ze wywoluje funkcje w innym miejscu a w innym sie wyswietla. W dodatku zeby bylo ciekawiej samo przypisanie funkcji do zmiennej:

  1. <?php
  2.  
  3. $cos=function take_region_banner(1, 2, 3);
  4.  
  5. ?>


Powoduje wywolanie funkcji i wyswietlenie obrazka, oczywiscie tez w miejscu innym niz w ogole jest to przypisanie do zmiennej. Nie mam juz sil, probowalem chyba wszytskiego:/ Dla mnie jest to niewyjasnialne.

moze ktos wie co jest nie tak?
NoiseMc
Ta funkcja nie zwraca Ci żadnych wartości tylko wyrzuca na ekran obrazek dokładnie w miejscu w którym ją wywołasz.
Jeżeli chcesz przypisać wynik funkcji do zmiennej to musisz zamiast "echo" dać "return":

  1. <?php
  2.  
  3. function take_region_banner ( $region, $id, $part )
  4. {
  5. $katalog=id ( $id, $region );
  6. $file= "$region/$katalog/$part.gif";
  7.  
  8. if ( file_exists ( $file ) )
  9. {
  10.  return '<img src="' . $region . '/' . $katalog . '/' . $part . '.gif">';
  11. }
  12. else
  13. {
  14.  return '<img src="layout/no_image.gif">';
  15. }
  16. }
  17.  
  18. ?>

użycie:
  1. <?php
  2.  
  3. $cos = take_region_banner ( 1, 2, 3 );
  4. echo $cos;
  5.  
  6. ?>
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.