Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] GET, zmienne, wyświetlanie (globalne?) poza funkcją
Forum PHP.pl > Forum > Przedszkole
mapiq
Witam
chciałbym zrobić coś takiego:

Po pobraniu zmiennej GET-em chciałbym przypisać tym zmiennym konkretne wartości które by się wyświetlały przy wywołaniu poza funkcją np: <? echo ($znazwa); ?>
Jak można wyświetlić odpowiednie wartości dla pobranej zmiennej.

  1. <?php
  2. if (isset($_GET['show'])) { switch($_GET['show'])
  3.        {
  4.        case '1': show($_GET['show']); break;
  5.        case '2': show($_GET['show']); break;        
  6.        case '3': show($_GET['show']); break;        
  7.        case '4': show($_GET['show']); break;
  8.        case '5': show($_GET['show']); break;        
  9.        case '6': show($_GET['show']); break;        
  10.        case '7': show($_GET['show']); break;
  11.        case '8': show($_GET['show']); break;        
  12.        case '9': show($_GET['show']); break;        
  13.        case '10': show($_GET['show']); break;
  14.        default: header("HTTP/1.x 404 Not Found"); echo("Nie ma takiej strony"); break;
  15.  
  16.        }
  17.    }
  18. else { show('home'); }
  19.  
  20.    
  21. function show($nazwa) {
  22.    $array_data = array(
  23.    '1'=>Array(
  24.        'nazwa'=>'nazwa 1',
  25.        'atryb'=>'atryb 10'),
  26.    '2'=>Array(
  27.        'nazwa'=>'nazwa 1',
  28.        'atryb'=>'atryb 10'),
  29.    '3'=>Array(
  30.        'nazwa'=>'nazwa 1',
  31.        'atryb'=>'atryb 10'),
  32.    '4'=>Array(
  33.        'nazwa'=>'nazwa 1',
  34.        'atryb'=>'atryb 10'),
  35.    '5'=>Array(
  36.        'nazwa'=>'nazwa 1',
  37.        'atryb'=>'atryb 10'),
  38.    '6'=>Array(
  39.        'nazwa'=>'nazwa 1',
  40.        'atryb'=>'atryb 10'),
  41.    '7'=>Array(
  42.        'nazwa'=>'nazwa 1',
  43.        'atryb'=>'atryb 10'),
  44.    '8'=>Array(
  45.        'nazwa'=>'nazwa 1',
  46.        'atryb'=>'atryb 10'),    
  47.    '9'=>Array(
  48.        'nazwa'=>'nazwa 1',
  49.        'atryb'=>'atryb 10'),        
  50.    '10'=>Array(
  51.        'nazwa'=>'nazwa 1',
  52.        'atryb'=>'atryb 10',)
  53.    );
  54.    echo($array_data[$nazwa]['nazwa']);
  55.    $znazwa= $array_data[$nazwa]['nazwa'];
  56.    $zatryb = $array_data[$nazwa]['atryb'];
  57.  
  58.        }
  59. ?>
webdice
Nie pierwszy raz piszesz temat w dziale Przedszkole bez tagu w tytule, więc temat zamykam. Poza tym brakuje bbcode.

Proszę o PW z poprawnym tytuł, a wątek otworze.
erix
Hmm, może coś takiego:

  1. <?php
  2. function show($nazwa, &$znazwa, &$zatryb) {
  3. //...
  4. }
  5.  
  6. //wywolanie: przed pierwszym warunkiem dajesz tak:
  7. $znazwa = '';
  8. $ztryb = '';
  9.  
  10. //...
  11. case '1': show($_GET['show'], $znazwa, $zatryb); break;
  12. ?>


Jeśli nie rozumiesz listingu, poczytaj w manualu o referencjach zmiennych. winksmiley.jpg
mapiq
Zrobiłem tak ... i nie działa :/
  1. <?php
  2. function show($nazwaa, &$nazwa, &$atrybut)
  3. {
  4.    $array_data = array(
  5.    '1'=>Array(
  6.        'nazwa'=>'tytul strony 4',
  7.        'atrybut'=>'opis strony glównej'),
  8.    '2'=>Array(
  9.        'nazwa'=>'tytul strony 4',
  10.        'atrybut'=>'opis strony newsów'),
  11.    '3'=>Array(
  12.        'nazwa'=>'tytul strony 4',
  13.        'atrybut'=>'opis strony 2'),
  14.    '4'=>Array(
  15.        'nazwa'=>'tytul strony 4',
  16.        'atrybut'=>'opis strony 3'),
  17.    '5'=>Array(
  18.        'title'=>'tytul strony głównej',
  19.        'atrybut'=>'opis strony glównej'),
  20.    '6'=>Array(
  21.        'nazwa'=>'tytul strony 4',
  22.        'atrybut'=>'opis strony newsów'),
  23.    '7'=>Array(
  24.        'nazwa'=>'tytul strony 4',
  25.        'atrybut'=>'opis strony 2'),
  26.    '8'=>Array(
  27.        'nazwa'=>'tytul strony 4',
  28.        'atrybut'=>'opis strony 3'),    
  29.    '9'=>Array(
  30.        'title'=>'tytul strony 3',
  31.        'atrybut'=>'opis strony 3'),        
  32.    '10'=>Array(
  33.        'nazwa'=>'tytul strony 4',
  34.        'atrybut'=>'opis strony 4',)
  35.    );
  36.  
  37.  
  38. }
  39.  
  40. //wywolanie: przed pierwszym warunkiem dajesz tak:
  41.  
  42. $nazwa= $array_data[$nazwaa]['nazwa'];
  43. $atrybut = $array_data[$nazwaa]['atrybut'];
  44.  
  45. //...
  46.  
  47.  
  48. switch($_GET['show'])
  49.        {
  50.        case '1': show($_GET['show'], $nazwa, $atrybut); break;
  51.        case '2': show($_GET['show'], $nazwa, $atrybut); break;        
  52.        case '3': show($_GET['show'], $nazwa, $atrybut); break;        
  53.        case '4': show($_GET['show'], $nazwa, $atrybut); break;
  54.        case '5': show($_GET['show'], $nazwa, $atrybut); break;        
  55.        case '6': show($_GET['show'], $nazwa, $atrybut); break;        
  56.        case '7': show($_GET['show'], $nazwa, $atrybut); break;
  57.        case '8': show($_GET['show'], $nazwa, $atrybut); break;        
  58.        case '9': show($_GET['show'], $nazwa, $atrybut); break;        
  59.        case '10': show($_GET['show'], $nazwa, $atrybut); break;
  60.        case '11': show($_GET['show'], $nazwa, $atrybut); break;        
  61.    default: header("HTTP/1.x 404 Not Found"); echo("Nie ma takiej strony"); break;
  62. };
  63. ?>


wyświetlam to <? echo $nazwaa; ?> i nic
erix
Ale to były tylko fragmenty, które zmienić, a Ty kilka niezbędnych fragmentów po prostu wyrzuciłeś, dlatego nie działa.
mapiq
oczywiscie działa wszystko smile.gif
Dziękuję erix:)

  1. <?php
  2.  
  3. if (isset($_GET['show'])) { switch($_GET['show'])
  4.       {
  5.        case '1': show($_GET['show'], $nazwa, $atrybut); break;
  6.        case '2': show($_GET['show'], $nazwa, $atrybut); break;        
  7.        case '3': show($_GET['show'], $nazwa, $atrybut); break;        
  8.        case '4': show($_GET['show'], $nazwa, $atrybut); break;
  9.        case '5': show($_GET['show'], $nazwa, $atrybut); break;        
  10.        case '6': show($_GET['show'], $nazwa, $atrybut); break;        
  11.        case '7': show($_GET['show'], $nazwa, $atrybut); break;
  12.        case '8': show($_GET['show'], $nazwa, $atrybut); break;        
  13.        case '9': show($_GET['show'], $nazwa, $atrybut); break;        
  14.        case '10': show($_GET['show'], $nazwa, $atrybut); break;
  15.        case '11': show($_GET['show'], $nazwa, $atrybut); break;        
  16.        default: header("HTTP/1.x 404 Not Found"); echo("Nie ma takiej strony"); break;
  17.       }
  18.   }
  19. else { show('home'); }
  20.  
  21.  
  22.  
  23. function show($nazwaa, &$nazwa, &$atrybut)
  24. {
  25.    $array_data = array(
  26.    '1'=>Array(
  27.        'nazwa'=>'tytul strony 4',
  28.        'atrybut'=>'opis strony glównej'),
  29.    '2'=>Array(
  30.        'nazwa'=>'tytul strony 4',
  31.        'atrybut'=>'opis strony newsów'),
  32.    '3'=>Array(
  33.        'nazwa'=>'tytul strony 4',
  34.        'atrybut'=>'opis strony 2'),
  35.    '4'=>Array(
  36.        'nazwa'=>'tytul strony 4',
  37.        'atrybut'=>'opis strony 3'),
  38.    '5'=>Array(
  39.        'title'=>'tytul strony głównej',
  40.        'atrybut'=>'opis strony glównej'),
  41.    '6'=>Array(
  42.        'nazwa'=>'tytul strony 4',
  43.        'atrybut'=>'opis strony newsów'),
  44.    '7'=>Array(
  45.        'nazwa'=>'tytul strony 4',
  46.        'atrybut'=>'opis strony 2'),
  47.    '8'=>Array(
  48.        'nazwa'=>'tytul strony 4',
  49.        'atrybut'=>'opis strony 3'),    
  50.    '9'=>Array(
  51.        'title'=>'tytul strony 3',
  52.        'atrybut'=>'opis strony 3'),        
  53.    '10'=>Array(
  54.        'nazwa'=>'tytul strony 4',
  55.        'atrybut'=>'opis strony 4',)
  56.    
  57.  
  58.    );
  59. $nazwa= $array_data[$nazwaa]['nazwa'];
  60. $atrybut = $array_data[$nazwaa]['atrybut'];
  61.  
  62. }
  63.  
  64.  
  65.    
  66.  
  67. ?>


wynik pozytywny <? echo $nazwa; ?> & <? echo $atrybut; ?>
hura HURA 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.