Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: przekazanie zmiennej
Forum PHP.pl > Forum > PHP
banpl
witam, otóż mam taki problem, mianowicie

napisałem sobie funkcję która w zaleznosci jaka strona jest otwarta pokazuje mi opcje do niej (new, edit, delete)

i teraz taki psikus jest ze w pliku mam zmienna

  1. <?php
  2. $sciezka = 'index.php?option=menu&';
  3. ?>


i funcje
  1. <?php
  2. function opcja_(){
  3.  
  4. global $option;
  5. global $sciezka;
  6. //$sciezka = 'index.php?option=menu&';
  7.  
  8. $NEW = array("Nowy", "new", "new=1", $sciezka);
  9. $EDIT = array("Edytuj", "edit_", "edit=1", $sciezka);
  10. $DELETE = array("Usuń", "delete", "delete=1", $sciezka);
  11.  
  12. $MENU[] = array($NEW, $EDIT, $DELETE);
  13.  
  14. $PAGE = array('menu' => $MENU);
  15.  
  16. if(isset($option)){
  17. echo '<table border="0" cellspacing="0" cellpadding="0" width="40%">';
  18. echo '<tr>';
  19. foreach($PAGE as $page => $OPTION){
  20. foreach($OPTION as $NAWA_OPCJA){
  21. foreach($NAWA_OPCJA as $OPCJA){
  22. if($option == $page){
  23. echo '<td align="center" valign="middle"><a href='.$OPCJA[3].''.$OPCJA[2].'><img border=0 src=gfx/'.$OPCJA[1].'.png width=32 height=32 style=float: left><br>'.$OPCJA[0].'</font></a></td>';
  24. }
  25. }
  26. }
  27. }
  28. echo '</tr></table>';
  29. }
  30. /*
  31. echo '<td align="center" valign="middle"><a href=index.php?new><img border=0 src=gfx/add.png width=32 height=32 style=float: left><br>Nowy</font></a></td>';
  32. echo '<td align="center" valign="middle"><a href=index.php?edit><img border=0 src=gfx/edit_.png width=32 height=32 style=float: left><br>Edytuj</font></a></td>';
  33. echo '<td align="center" valign="middle"><a href=index.php?delete><img border=0 src=gfx/delete.png width=32 height=32 style=float: left><br>Usuń</font></a></td>';
  34. */
  35.  
  36.  
  37.  
  38. }
  39. ?>


teraz w miejscu gdzie jest global $sciezka powinno sibie pobrac jej wartosc a nastepnie umiescic w tablicy, ale tak sie nie dzieje, tzn link prawidlowo powinien wygladac
index.php?option=menu&new=1
a wyglada tak
new=1
dopiero jak wstawie w funkcje ta zmienna $sciezka i przypisze jej wartosc to funkcja dziala poprawnie, pytanie dlaczego tak sie dzieje questionmark.gif?
hwao
zrob poprostu tak, globale sa do niczego!

  1. <?php
  2. function opcja_( $sciezka ){
  3. global $option;
  4. // ....
  5.  
  6. ?>


  1. <?php
  2. opcja_( index.php?option=menu&' )
  3. ?>
banpl
ale jest jeszcze jedno ale, bo funkcja jest w pliku config, jest uzyta w pliku index, a wartosc zmiennej $sciezka jest w pliku menu
wrzasq
@banpl: dlatego uzywaj sciezki jako argumentu funkcji - raz zdefiniowana funkcje mozesz wykorzystywac wszedzie i dlatego bedziesz przekazywal sciezke dokladnie ta, ktora chcesz - moze do czasu wywolania funkcji globalna zmienna jest jeszcze nie zainicjowana, albo "cos" zmienilo jej wartosc?
banpl
juz sobie poradzilem, napisalem osabna fukcje ktora bobiera mi sciezke i wszystko gra smile.gif
ale i tak dzieki za podpowiedzi smile.gif
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.