Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Odnośniki ze skryptem w PHP
Forum PHP.pl > Forum > PHP
Tomasz1992
Witam, mam taki problem gdyż nie wiem jak zrobić to żeby odnośnik z takiego linku:
  1. http://xxx.pl/?page=wyd&temat=1&data=1&tresc=1

mógł wczytać do pozycji "temat" z katalogu wyzej?
podany link wczyta do pozycji "temat, data i tresc" plik "1.php" ale z tego samego katalogu co jest plik "wyd.php" a ja chcę żeby obok pliku "wyd.php" był katalog np. AKTUALNOŚCI i zeby w nim znajdowały sie pliki które będą do wczytania.
Macie jakieś pomysły?
kokers
niewiele zrozumiałam, ale jak pobierasz zawartość $_GET['temat'] to co z tym dalej zrobisz to twoja sprawa.

możesz wtedy np odnieść się do katalogu
  1. "../temat/".(int)$_GET['temat'].".php";

../ ->jest "wejściem" do katalogu wyżej.
a jeśli wszystkie pliki wczytywane będą liczbą to warto dodać (int) żeby miec pewność że w linku jest liczba.
Tomasz1992
  1. <?
  2.  
  3. if( isset($_GET["data"]) ){
  4. $data = $_GET["data"].".php";
  5. if( file_exists(basename($data)) ){
  6. include($data);
  7. }
  8.  
  9. }
  10. ?>


Pobieram w takie sposób.
kokers
no więc jak chcesz z katalogu wyżej spróbuj tak:

  1. <?php
  2.  
  3. if( isset($_GET["data"]) ){
  4. $data = "../".$_GET["data"].".php";
  5. if( file_exists(basename($data)) ){
  6. include($data);
  7. }
  8.  
  9. }
  10. ?>
Tomasz1992
../ a w ten sposób nie cofasz sie do poprzedniego katalogu?
ja chcę zrobić w ten sposób, że mam głowny katalog serwera, i w nim mam plik "wyd.php" i w nim jest między innymi takie kawałek kodu:
  1. <?
  2.  
  3. if( isset($_GET["temat"]) ){
  4. $temat = $_GET["temat"].".php";
  5. if( file_exists(basename($temat)) ){
  6. include($temat);
  7. }
  8.  
  9. }
  10. ?>

i teraz gdy w linku wpisze "?temat=1" to wczyta mi plik "1" z tego samego katalogu co jest plik "wyd.php" a ja chce miec osobny folder z tymi plikami np. aktualnosci. A nie wiem jak zmienic link żeby z poziomu glownego katalogu serwera wczytywalo zawartość z katalogu aktualności.

  1. http://xxx.pl/?page=wyd&temat=aktualnosci/1&data=1&aktualnosci/tresc=1


tak probowalem i nie dziala... Juz wiesz o co mi chodzi?
mortus
Bardzo łatwo:
  1. <?
  2.  
  3. if( isset($_GET["temat"]) ){
  4. $temat = "/aktualnosci/".$_GET["temat"].".php";
  5. if( file_exists($temat) ){
  6. include($temat);
  7. }
  8.  
  9. }
  10. ?>


Swoją drogą zainteresuj się bazami danych. Myślę, że lepiej od razu zacząć się uczyć. Poza tym skrypt nie jest bezpieczny i też na ten temat musisz poczytać. Na forum znajdziesz wiele informacji.

@down: Stosując się do zaleceń kolegi d3ut3r zmodyfikowałem kod. Jednak musisz się bardziej przykładać, albo korzystać z działu Giełda ofert.
Tomasz1992
  1. <?
  2.  
  3.  
  4.  
  5. if( isset($_GET["temat"]) ){
  6. $temat = "/aktualnosci/".$_GET["temat"].".php";
  7. if( file_exists(basename($temat)) ){
  8. include($temat);
  9. }
  10.  
  11.  
  12. }
  13. ?>


i albo nadal nie dziala albo cos zle zrobilem...
d3ut3r
Co z tego, że w $temat masz pełną ścieżkę skoro w warunku masz basename które zwraca tylko nazwę pliku ? Spróbuj skonstruować inaczej warunek sprawdzając czy istnieje plik w ścieżce $temat.
Tomasz1992
Niestety, nie mam już żadnego pomysłu... Nie wiesz jak to zrobić?
d3ut3r
  1. if( isset($_GET["temat"]) ){
  2. $temat = "/aktualnosci/".$_GET["temat"].".php";
  3. if( file_exists($temat) ){
  4. include($temat);
  5. }
  6.  
  7. }
Tomasz1992
  1. if( isset($_GET["temat"]) ){
  2. $temat = "/aktualnosci/".$_GET["temat"].".php";
  3. if( file_exists($temat) ){
  4. include($temat);
  5. }
  6.  
  7. }

tez nie działa... nic mi się nie wyświetla...

  1. <?
  2.  
  3.  
  4.  
  5. if( isset($_GET["temat"]) ){
  6. $temat = "aktualnosci/".$_GET["temat"].".php";
  7. if( file_exists($temat) ){
  8. include($temat);
  9. }
  10.  
  11. }
  12. ?>


Doszedłem... tak powinno być. Narazie Dzięki wam!
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.