Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Dynamiczny tytuł strony
Forum PHP.pl > Forum > Przedszkole
Przem4S
A więc mam problem z dynamicznym tytułem strony otóż posiadam funkcję:

  1. function tytul($pokaz)
  2. {
  3. $przypisanie_tytulu = array('strona_glowna' => 'Strona Główna', 'rejestracja' => 'Rejestracja', 'download' => 'Download', 'jak_zagrac' => 'Jak Zagrać?', 'itemshop' => 'ItemShop');
  4. foreach($dopasuj_tytul as $klucz => $val)
  5. if($pokaz == $klucz) return $val;
  6. }


oraz w title posiadam:

  1. <?php echo tytul($_GET['pokaz']); ?>


Błąd wyświetla się w tytule:

Kod
Notice: Undefined index: pokaz in /usr/local/www/apache22/data/index.php on line 53

Notice: Undefined variable: dopasuj_tytul in /usr/local/www/apache22/data/silnik/funkcje.php on line 6

Warning: Invalid argument supplied for foreach() in /usr/local/www/apache22/data/silnik/funkcje.php on line 6


Wcześniej na innym serwerze nie miałem problemu gdyż był inaczej skonfigurowany php.ini (nie miałem do niego dostępu). Będę wdzięczny za pomoc.
jaslanin
a gdzie zgubiłeś zmienną $dopasuj_tytul, bo nie ma wartości a chcesz się na niej poruszać pętlą. Co prawda pętla nie jest wogóle potrzeba, bo należy to zrobić tak:


Kod
function tytul($pokaz) {
    $przypisanie_tytulu = array('strona_glowna' => 'Strona Główna', 'rejestracja' => 'Rejestracja', 'download' => 'Download', 'jak_zagrac' => 'Jak Zagrać?', 'itemshop' => 'ItemShop');

    if (!empty ($pokaz) && isset ($przypisanie_tytulu[$pokaz])) {
        return $przypisanie_tytulu[$pokaz];
    }

}


Żeby pozbyć się notice trzeba dać na początku:

Kod
error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);


albo ustawić to w php.ini
Przem4S
Użyłem twojego kodu, ale pomimo to notice:...

Przerobiłem go lekko:
Kod
    function tytul($pokaz)
        {
            $przypisanie_tytulu = array('strona_glowna' => 'Strona Główna', 'rejestracja' => 'Rejestracja', 'download' => 'Download', 'jak_zagrac' => 'Jak Zagrać?', 'itemshop' => 'ItemShop');
            if (!empty ($pokaz) && isset ($przypisanie_tytulu[$pokaz]))
            {
                return $przypisanie_tytulu[$pokaz];
            }
            else
            {
                return 'Strona Główna';
            }
        }


Aby na stronie głównej (po wejściu) wyświetlał tytuł. Ale mimo to notice.
nospor
To pokaz ten NOTICE co jeszcze masz a nie tylko notice i notice. Na zaproszenie czekasz? tongue.gif
Przem4S
Ym, a więc, mogłem od razu stronę podać, klik.
Kod
Notice: Undefined index:pokaz in ... index.php on line 11
nospor
No ale pokaż kod z linii 11 pliku index.php ,,, No z kart mamy wróżyć?
Pokaz nalepiej większy wycinek kod i zaznacz ktora to jest linia 11
Przem4S
UP no akurat to już podawałem, linia 11 to tytuł:
Kod
<title><?php echo tytul($_GET['pokaz']); ?></title>

Kod funkcji:
Kod
<?php
    function tytul($pokaz)
        {
            $przypisanie_tytulu = array('strona_glowna' => 'Strona Główna', 'rejestracja' => 'Rejestracja', 'download' => 'Download', 'jak_zagrac' => 'Jak Zagrać?', 'itemshop' => 'ItemShop');
            if (!empty ($pokaz) && isset ($przypisanie_tytulu[$pokaz]))
            {
                return $przypisanie_tytulu[$pokaz];
            }
            else
            {
                return 'Strona Główna';
            }
        }

nospor
Tak trudno dac IF?
  1. <title><?php
  2. if (isset($_GET['pokaz']))
  3. $p = $_GET['pokaz'];
  4. else
  5. $p = '';
  6. echo tytul($p); ?>
  7. </title>



Cytat
UP no akurat to już podawałem, linia 11 to tytuł:

Tja... tylko, że wtedy to była linia 53....
"Notice: Undefined index: pokaz in /usr/local/www/apache22/data/index.php on line 53"
Przem4S
@UP

No tak racja, tylko mam pytanie czy mogę to zaimplementować w funkcję jakoś?

EDIT: W linii 53 po prostu wstawiłem zawartość title aby odczytać cały błąd, bo przeglądarka u góry całego nie mieści.
nospor
No to te GET[pokaz] sprawdzaj w tej funkcji zamiast do niej to przekazujesz. Wowczas wszystko bedziesz mial w jednym

Cytat
EDIT: W linii 53 po prostu wstawiłem zawartość title aby odczytać cały błąd, bo przeglądarka u góry całego nie mieści.
Co nie zmienia faktu, ze my wróżki nie jesteśmy i o tym mieliśmy prawa nie wiedzieć.
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.