Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Problem z podstronami, proszę o jak najszybszą pomoc
Forum PHP.pl > Forum > Przedszkole
iyasiu
Mam problem z linkiem do podstrony która znajduje się w dwóch katalogach. Może po kolei ;-). Jak wygląda sytuacja w katalogu ze stroną:


index.php
/text/omnie.php
/text/zdjecia.php
/text/zdjecia/ja/ja.php


W index.php ma następujący skrypt:


  1. <?php 
  2.  extract($_GET); 
  3.  if ("$dzial"==""){$dzial="omnie";} 
  4.  if (file_exists("text/$dzial.php")){ 
  5.  include("text/$dzial.php"); 
  6.  } 
  7.  
  8.  else {echo"<CENTER><BIG>UNDER CONSTRUCTION</BIG></CENTER><BR><BR>Ten dział jest aktualnie niedostępny";} 
  9.  
  10.  
  11.  ?>




Wyświetla się zatem w oknie podstrona omnie.php. W adresie przeglądarki jest zaraz po adresie strony:

index.php?dzial=omnie



Na podstronie omnie.php jest link do podstrony zdjecia.php. Czyli :



index.php?dzial&dzial=zdjecia



Wyświetla się zamiast podstrony omnie.php

Teraz moje pytanie. Jak powinien wyglądać link do podstrony ja.php która jest i musi być tam gdzie jest (mam na mysli katalog w którym się znajduje), a link do niej musi znajdować się na podstronie zdjecia.php ? Proszę o możliwie jak najszybszą pomoc
nospor
Cytat
Wyświetla się zamiast podstrony omnie.php
Jak piszesz na forum, to najpierw zjedz sniadanie, bo jestes taki glodny ze wyrazy zjadasz smile.gif Jak dla mnie czegos w tym zdaniu brakuje. co sie wyswietla zamiast omnie.php ?

No link powinien wygladac tak:
index.php?dzial=zdjecia
bo po co ten pierwszy dzial mial byc w linku? w url musza byc zmienne roznie nazwane.

Jesli nie oto ci chodzi to moze wytlumacz ciut lepiej oco ci chodzi

ps: witamy na forum smile.gif
iyasiu
Ja mam na myśli to - jak będzie wyglądać url do pliku ja.php. Ten Url będzię znajdować się na podstronie zdjęcia.php. Przykładowo url do podstrony zdjęcia.php to index.php?dzial&dzial=zdjecia ponieważ znajduje się na podstronie omnie.php

A podstrona omnie.php jest tak ustawiona w skrypcie na stronie głównej ponieważ dojdą kolejne pozycje w menu, a chciałem aby otwierała się jako pierwsza winksmiley.jpg
nospor
ja:
Cytat
bo po co ten pierwszy dzial mial byc w linku? w url musza byc zmienne roznie nazwane.


ty:
Cytat
Przykładowo url do podstrony zdjęcia.php to index.php?dzial&dzial=zdjecia ponieważ znajduje się na podstronie omnie.php

No to pomaltuku bo widze ze nie lapiesz idei. Wykonaj se taki kod:
  1. <?php
  2. echo $_GET['dzial'];
  3. ?>

A wywowalj go z takimi paramtreami:
?dzial&dzial=1&dzial=2
I wiesz co ci sie wyswietli? 2
Wszystkie inne zmienne dzial zostana nadpisane przez ostatnią. Tak wiec nie widze sensu w Twoim linku. moze ty widzisz to mi jednak go wyjasnij winksmiley.jpg

Zlą metodą jest zapodanie w url plikow jakie mają byc includowane. Ogolnie przyjmuje sie, iz zapodajesz jakis parametr. jesli ten parametr rowna sie czemus tam, to includujesz jakis tam plik, jesli rowna sie czemus innemu to wywolujesz jakis tam inny plik. Najlepiej przy uzyciu switch sie to robi. Bylo juz pare razy o tym na forum.
czyli u ciebie:
  1. <?php
  2. switch ($_GET['dzial']){
  3. case 'cos1': include(...);//tu powiedzmy o omnie.php
  4. break;
  5. case 'cos2': include(...);//tu powiedzmy ja.php
  6. break;
  7. .....
  8.  
  9. }
  10. ?>

no i linki odpowiednio:
index.php?dzial=cos1
index.php?dzial=cos2
.....
iyasiu
szczerze nic nie kapuje sad.gif Dobra uprośćmy to i zacznijmy o początku:

Struktura katalogów i plików:

index.php
text/omnie.php
text/zyciorys.php
text/osiagniecia.php
text/zdjecia.php
text/linki.php
obrazki/
text/zdjecia/ja/ja.php

Skrypt w index.php

  1. <?php 
  2.  extract($_GET); 
  3.  if ("$dzial"==""){$dzial="omnie";} 
  4.  if (file_exists("text/$dzial.php")){ 
  5.  include("text/$dzial.php"); 
  6.  } 
  7.  
  8.  else {echo"<CENTER><BIG>UNDER CONSTRUCTION</BIG></CENTER><BR><BR>Ten dział jest aktualnie niedostępny";} 
  9.  
  10.  
  11.  ?>


Mam index.php i w tym ten mój skrypt co jest wyżej.

index.php
+ omnie.php -> index.php?dzial=omnie
- zyciorys.php -> index.php?dzial&dzial=zyciorys
- osiagniecia.php -> index.php?dzial&dzial=osiagniecia
+ zdjecia.php -> index.php?dzial=zdjecia
- ja.php -> questionmark.gif?
+ linki.php -> index.php?dzial=linki

+ -> to menu na stronie głównej index.php
- -> to menu na konkretnych podstronach

i wszystko działa ok, zauważ że wszystkie podstrony są w jednym katalogu (text).
I nie było by problemu gdyby nie to że, chce do menu podstrony zdjecia.php dać stronę ja.php która znajduje się w w katalogu text/zdjecia/ja. Tu jak możesz zobaczyć, nie moge dać index.php?dzial&dzial=ja, ponieważ ja.php znajduje sie jeszcze w dwóch katalogach. I tu jest moje pytanie:

Jak będzie wyglądać link do ja.php, tak aby nie zmieniać już kodu na stronie głównej ani struktur podstron ? ufff
nospor
Cytat
nie moge dać index.php?dzial&dzial=ja, ponieważ ja.php
dobra, ja wymiekam. Jak ktos ma sile to niech tlumaczy koledze oco chodzi z bezsensem dwoch zmiennych o identycznej nazwie smile.gif

@iyasiu skoro do ciebie dobre rady nie docieraja i chcesz isc na latwizne to prosze bardzo:
index.php?dzial=zdjecia/ja/ja
siemakuba
Cytat
1. text/linki.php
2. text/zdjecia/ja/ja.php
Skoro wymyśliłeś sobie takie kombinacje, że index.php?dzial=linki załaduje plik 1, to logicznym jest, że wywołanie dzial=zdjecia/ja/ja załaduje plik 2.

pozdr.

edit @nospor szybszym okazał się być ;>
iyasiu
Dziękuję bardzo, o to mi chodziło ;-) Co do 2 zmiennych etc to jestem amatorem i szczerze mówiąc nie rozumiem co wy tam do mnie skomplikowanego piszecie. Cała moja wiedza z php ogranicza się tylko do tego typu prostych skryptów. Jak chce mieć moc możliwości i wrażeń to robie sobie szablonik i wrzucam go do cmsa (a to akurat umiem i to dobrze ;-)). Zresztą parę lat temu (6-7) kiedy była laikiem kompletnym zrobiłem stronę w htmlu, później pod koniec mały błąd zauważyłem i ... zmienia wszystkie 50 stron buuu to były czasy ;-) w każdym bądź razie dziękuje za pomoc. Pozdrawiam
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.