Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Funkcja $_GET i nie działające menu strony www
Forum PHP.pl > Forum > Przedszkole
siCkBoY
Witam. Jestem tu nowy i raczej raczkuję w temacie php. Dlatego zarejestrowałem się na Waszym forum.
Mam problem z jedną ze stron, którą ktoś kiedyś stworzył. Wszystko działało poprawnie na starej wersji php. Jednak po aktualizacji do nowszej wersji menu przestało działać poprawnie. Po kliknięciu w większość pozycji następuje przeładowanie strony, a powinno wczytać treść podstrony.

Budowa menu wygląda tak:

  1. <b>:snitch.gif Menu</b>
  2. <a href="?id=main"><li type=square>Strona główna</a>
  3. <a href="?kat=zdjecia"><li type=square>Zdjęcia</a>
  4. <a href="?kat=historia"><li type=square>Historia</a>
  5. <a href="?kat=pamiatki"><li type=square>Pamiątki</a>
  6. <a href="?kat=pocztowki"><li type=square>Pocztówki</a>
  7. <a href="?kat=wspomnienia"><li type=square>Wspomnienia</a>
  8. <a href="?kat=kroniki"><li type=square>Kroniki</a>
  9. <a href="?id=rejestr"><li type=square>Rejestr</a>


natomiast funkcja, która działała na starej wersji php wygląda tak:

  1. <?
  2. if(isset($id)){
  3. $id=$id;
  4. } else {
  5. $id="main";
  6. }
  7. if($id=="index" || $id=="data"){
  8. include("main.php");
  9. } else {
  10. if(isset("$kat")){
  11. if(!(file_exists("$kat/$id.php"))){
  12. echo("<h1>:snitch.gif Bł?d!</h1><center>Plik <b><font color=red>
  13. $id.php</font></b> nie istnieje!");
  14. } else {
  15. include("$kat/$id.php");
  16. }
  17. } else {
  18. if(!(file_exists("$id.php"))){
  19. echo("<h1>:snitch.gif Bł?d!</h1><center>Plik <b><font color=red>
  20. $id.php</font></b> nie istnieje!");
  21. } else {
  22. include("$id.php");
  23. }
  24. }
  25. }
  26.  
  27. echo "<script>document.write('');</script>";
  28.  
  29. echo "<script>document.write('');</script>";
  30. ?>



O ile wykorzystanie funkcji $_GET w przypadku $id wiem jak zrobić o tyle w przypadku $kat nie wiem jak ugryźć.

$kat - jest to odesłanie do folderu z zawartością pliku "main.php" i ewentualnymi zdjęciami.

Pierwszą część kodu przerobiłem w ten sposób:

  1. <?
  2. if(isset($_GET['id'])){
  3. $id=$_GET['id'];
  4. } else {
  5. $id="main";
  6. }
  7. if($id=="index" || $id=="data"){
  8. include("main.php");


Jak zmienić pozostałą część żeby strona pobierała poprawnie treści?
Mam nadzieję, że mi w tym pomożecie. Liczę na Waszą pomoc.
nospor
$id=$id
ktos byl na niezlych prochach jak to pisal wink.gif

No nic, co do kat to dodaj na poczatku taki kod:

  1. if (isset($_GET['kat']))
  2. $kat = $_GET['kat'];
  3. else
  4. $kat = null;
siCkBoY
Dzięki za szybką odpowiedź.
Rozumiem, że mam zastąpić linijkę:

  1. if(isset("$kat")){


tym kodem

  1. if (isset($_GET['kat']))
  2. $kat = $_GET['kat'];
  3. else
  4. $kat = null;

questionmark.gif

Jeśli tak to niestety nie działa. Wyrzuca błąd.
Poza tym $kat to są foldery, w których znajduje się plik main.php, w którym zawarta jest treść podstrony.

Proszę o sprostowanie.
Tak jak pisałem jestem laikiem w tych sprawach.

Być może przyda się link do strony, o którą chodzi - zydzi.lubaczow.pl
nospor
Napisałem wyraznie:
dodaj
a nie
zastąp

Naprawdę nie widzisz różnicy między tymi dwoma słowami?
siCkBoY
Dzięki za podpowiedź.
Teraz działa jak należy smile.gif
Jest tylko jeszcze jeden problem do rozwiązania.
Otóż na stronie wstawione są zdjęcia, które powinny się powiększać. Jednak po kliknięciu w zdjęcie wczytuje zawartość strony głównej.
Taki kod mam w pliku fotka.php:

  1. ");
  2. if(!(file_exists($id))){
  3. echo(" <br><h1>:snitch.gif Bł?d!</h1><center>Plik <b><font color=red>$id</font>
  4. </b> nie istnieje!<p><a href=\"java script:history.back(-1)\">
  5. <:: Powrót</a>");
  6. } else {
  7. echo("<img src=$id><p><a href=\"java script:history.back(-1)\"><:: Powrót</a>");
  8. }
  9. } else {
  10. header("location:index.php");
  11. }
  12. ?>
nospor
Kod co teraz pokazales to jakis inny kod niz z pierwszego postu... Zrobiles wiec tam tez wszystkie poprawki co z pierwszego postu?
Johnas
Cytat(nospor)
ktos byl na niezlych prochach jak to pisal smile.gif


Ja tam swojego czasu w takim stanie dobre kody pisałem wink.gif Wydajność 250% normy na endorfinie biggrin.gif Nospor, podziwiam Ciebie i to z jaką łatwością sobie radzisz z analizą kodu PHP wink.gif

  1. echo("<img src=$id><p><a href=\"java script:history.back(-1)\"><:: Powrót</a>");


zamień na
  1. echo("<img src=\"$id\"><p><a href=\"java script:history.back(-1)\"><:: Powrót</a>");


Pilnuj się składni HTML, ponieważ nowe przeglądarki potrafią same z siebie poprawić niechlujstwo, ale te starsze mają z tym problem smile.gif i dlaczego po java masz spacje ? (forum.php.pl samo dodaje spacje w składni... dziwne)
siCkBoY
Wielkie dzięki za pomoc. Na razie nie znalazłem więcej problemów. Wasze wskazówki bardzo pomogły.
Przeglądam jeszcze zawartość strony i gdybym napotkał jeszcze jakieś problemy to pozwolę sobie napisać kolejne pytania (jeśli sam się z tym nie uporam).
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.