Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Na jakiej stronie się znajdujesz
Forum PHP.pl > Forum > Przedszkole
Reiven
Witam,
Próbuję stworzyć na stronie pod logiem napisy np.:

php.pl >> Artykuły >> Generowanie grafiki w PHP

Jeśli się tam znajduje oczywiście..

Otóż problem tkwi w przekazaniu zmiennych z funkcji do innej funkcji w innym pliku...
Połowę załatwiłem w taki sposób:
  1. $names = array(
  2. "home" => "Strona główna",
  3. "service" => "Usługi
  4. );

  1. [/php]
  2. [php]function whereIam($names)
  3. {
  4.  
  5. $t = $_SERVER['REQUEST_URI'];
  6. $wynik = explode("/", $t);
  7.  
  8. echo "<div id='lst'>";
  9. if($wynik[NR])
  10. {
  11. $adres = $wynik[NR];
  12. $name = $names[$adres];
  13. echo '<a href="'.BASEDIR.'">AmazingPixels.pl</a> >> <a href="'.BASEDIR.''.$adres.'/">'.$name.'</a>';
  14. }
  15. echo "</div>";
  16. }


i w pliku z szablonem wywołuję to tak:
  1. whereIam($adr,$name);


No i pokazuje:
Kod
Localhost >> Strona główna


Ale gdy mam już pobierane podstrony z mysql'a to już nie mam pojęcia jak to zrobić by ładnie pokazywało na jakiej podstronie się znajduje...
norbis
Chyba trochę źle do tego podchodzisz. Masz tu świetną okazję, żeby napisać sobie prostą klasę do obsługi nawigacji i problem lokalnych zmiennych znika (o ile dobrze Cię zrozumiałem).
Age1869
A nie lepiej zrobić to za pomocą zmiennych globalnych GET?
Reiven
przez GET hmm przez GET'a mogę pobrać jedynie ID, a skąd skrypt będzie wiedział czy to są NEWS czy USŁUGI czy jakaś inna podstrona? Można by wklepać na twardo NEWS > NAZWA NEWS'a pobrana z mysql'a po ID i tak w podstronach itp..

Odnośnie klasy, to nie wiem czy mam dobrą koncepcje i czy takie coś zadziała. Otóż wyobrażam to sobie tak że np w pliku ze skryptem news przekażę do klasy potrzebne rzeczy tzn, adres URL, nazwę newsa i co to jest i w pliku z szablonem wywołam to z klasy, ale jako że z obiektowym programowaniem trochę leże to nie wiem czy takie coś zadziała...
Przedstawię może to w algorytmie.

1. W pliku /news.php przekazuje informacje o adresie do news'a, nazwę newsa, oraz info że to jest news.
2. Wczytam te wartości do pliku /core/navigation_header.class.php.
3. Skrypt obrobi te dane, tzn wygeneruje gotowy HTML do wstawienia.
4. Skrypt wyświetli dane w pliku /theme/AP/top.php

Czy takie coś ma sens? Jeśli nie to jak to mogę rozwiązać...
Age1869
Ja np ostatnio skorzystałem właśnie z GET. W bazie MySQL miałem zapisane tytuły wszystkich artykułów i potem odpowiednio do GET'a wyświetlało. U Ciebie trzeba to jedynie trochę dopracować, uważam, że to najprostszy sposób.

Możesz zrobić rozbudowanego geta np:

index.php?cat=1?id=12?...
I potem dać: wyświetlanie działu categorii o ID=1 i arta o ID=12 czy coś w ten deseń. Bardzo proste i skuteczne.
Reiven
Rozumiem, tak też zrobiłem wcześniej przy forum, lecz na stronie nie przekazuje w GET że to jest np news, podstrona jakaś itp
No i mam też swój mały system szablonów, gdzie muszę wywołać daną funkcję...

Zrobiłem coś takiego:

  1. function GetTITLES($name)
  2. {
  3. setcookie("where", $name);
  4. }
  5. function ShowTITLES()
  6. {
  7. echo "<a href='".BASEDIR."'>AmazingPixels.pl</a> >> <b>".$_COOKIE['where']."</b>";
  8. }


w miejscu gdzie przekazuje dane:

daje:
  1. GetTITLES("<a href='".BASEDIR."news'>News</a> >> ".$row['title']);


w pliku z Templates wywołuje to:

  1. ShowTITLES();


I wszystko ładnie działa, tyle że nie zawsze pokazuje mi gdzie się znajduję.. muszę czasem odświeżyć stronę i wtedy się pokazuje...
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.