Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Dynamiczny tytuł strony
Przem4S
post 13.03.2011, 19:39:45
Post #1





Grupa: Zarejestrowani
Postów: 103
Pomógł: 3
Dołączył: 26.07.2010
Skąd: Tychy

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


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.
Go to the top of the page
+Quote Post
jaslanin
post 13.03.2011, 19:58:41
Post #2





Grupa: Zarejestrowani
Postów: 511
Pomógł: 143
Dołączył: 13.03.2010
Skąd: Jasło

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


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

Ten post edytował jaslanin 13.03.2011, 20:00:57


--------------------
Good luck and happy PHP'ing
Go to the top of the page
+Quote Post
Przem4S
post 13.03.2011, 21:18:45
Post #3





Grupa: Zarejestrowani
Postów: 103
Pomógł: 3
Dołączył: 26.07.2010
Skąd: Tychy

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


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.
Go to the top of the page
+Quote Post
nospor
post 13.03.2011, 21:24:18
Post #4





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




To pokaz ten NOTICE co jeszcze masz a nie tylko notice i notice. Na zaproszenie czekasz? tongue.gif


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

"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
Przem4S
post 13.03.2011, 21:27:35
Post #5





Grupa: Zarejestrowani
Postów: 103
Pomógł: 3
Dołączył: 26.07.2010
Skąd: Tychy

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


Ym, a więc, mogłem od razu stronę podać, klik.
Kod
Notice: Undefined index:pokaz in ... index.php on line 11
Go to the top of the page
+Quote Post
nospor
post 13.03.2011, 21:32:52
Post #6





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




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


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

"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
Przem4S
post 13.03.2011, 21:36:33
Post #7





Grupa: Zarejestrowani
Postów: 103
Pomógł: 3
Dołączył: 26.07.2010
Skąd: Tychy

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


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';
            }
        }

Go to the top of the page
+Quote Post
nospor
post 13.03.2011, 21:45:10
Post #8





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




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"


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

"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
Przem4S
post 13.03.2011, 21:48:33
Post #9





Grupa: Zarejestrowani
Postów: 103
Pomógł: 3
Dołączył: 26.07.2010
Skąd: Tychy

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


@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.

Ten post edytował Przem4S 13.03.2011, 21:49:38
Go to the top of the page
+Quote Post
nospor
post 13.03.2011, 21:56:10
Post #10





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




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ć.


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

"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

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: 24.07.2025 - 19:57