Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/html]Przekazywanie parametrów w adresie?
Forum PHP.pl > Forum > Przedszkole
zbyt
Witam.
Jestem totalnym laikiem i mam taki problem. Na serwerze mam folder np. "muzycy", a w nim folder np. "artysci". I teraz jaki kod mam wpisac w pliku index.php, zeby wywolac w adresie plik z folderu muzycy (np. Kult.html) ... index.php?muzyk=kult , a jaki kod, zeby wywolac plik z folderu artysci (np. plik Kazik.html) ... index.php?muzyk=kult&artysta=kazik
Za wszelka pomoc bedze wdzieczny


-------------------------
ponieważ padły już odpowiedzi
wątku nie zamykam ale na drugi raz
pamiętaj o odpowiednim tag'u w temacie
tym razem poprawiłem ja
~Cienki1980
=kokos=
Tu masz mały przykładzik.

  1. <?php
  2. $dzial = $_GET['dzial'];
  3. if(!isset($dzial)) $dzial = 'glowna';
  4. if(file_exists('./'.$dzial.'.php'))
  5. include('./'.$dzial.'.php');
  6. else
  7. include('404.php');
  8. ?>


$dzial - to jest zmienna w której podajesz nazwę pliku czyli np.

  1. <a href="index.php/dzial=kult">Kult</a>


czyli w folderze gdzie znajduje się plik index.php musi też znajdować się plik kult.php. Pokombinuj trochę. Na pewno Ci się uda.

Pozdrawiam.
kresh
zmienne przekazywane poprzez url są dostępne w tablicy $_GET
index.php?muzyk=kult
index.php?muzyk=kult&artysta=kazik
  1. <?php
  2. $_GET['muzyk'] = 'kult';
  3. $_GET['artysta'] = 'kazik';
  4. ?>


Zatem jeśli chcesz includować plik wystarczy z tych parametrów zbudować ścieżkę:
  1. <?php
  2. $file = $_GET['muzyk'] . '/' . ucfirst( $_GET['artysta'] ) . '.html';
  3. require_once( $file );
  4. ?>


oczywiście jest to uproszczony przykład, który nie zawiera, np sprawdzania czy dany plik faktycznie istnieje na serwerze itp. Przedstawiam jedynie ogóląn zasadę działania.
zbyt
Im wiecej sie wpatruje w to, co zostalo napisane tym mam wiekszy metlik w glowie.
Jezeli moge to poprosze o dokladny kod do wywolania pliku kazik.html (public_html/muzycy/artysci/kazik.html) ... chodzi o taki adres "index.php?muzyk=kult&artysta=kazik"
sagittariuspl
odpowiedź na twoje problemy -> http://php.net
kresh
Cytat(zbyt @ 23.04.2007, 16:35:58 ) *
Im wiecej sie wpatruje w to, co zostalo napisane tym mam wiekszy metlik w glowie.


Obawiam się, że samo wpatrywanie tutaj nic nie da, próbowałeś chociaż użyć poniższych rozwiązań na serwerze?
zbyt
Probuje korzystac z kodu Kokosa lecz marnie mi to idzie.
W pliku index.php wpisalem kod:

  1. <?php
  2. $dzial = $_GET['dzial'];
  3. if(!isset($dzial)) $dzial = 'glowna';
  4. if(file_exists('./'.$dzial.'.php'))
  5. include('./'.$dzial.'.php');
  6. else
  7. include('404.php');
  8. ?>


Marnie, bo nie wiem jak wywolac pliki z folderu innego niz ten w ktorym jest plik index.php

[+] edit
Do wstawiania kodu na forum służą odpowiednie
tagi BB Code. Tym razem poprawiłem, ale
na przyszłość proszę o tym pamiętać.
---
~strife
=kokos=
Napiszę Ci prosty przykładzik żebyś załapał o co chodzi.

  1. <html>
  2. <body>
  3. <table><tr><td colspan="2">Wybierz wykonawcę</td></tr>
  4. <tr><td>
  5. <a href="index.php?muzyk=kult">KULT</a><br />
  6. <a href="index.php?muzyk=kult&artysta=kazik">KAZIK</a><br />
  7. </td>
  8. <td>
  9.  
  10. <?php
  11. $muzyk = $_GET['muzyk'];
  12. $artysta = $_GET['artysta'];
  13.  
  14. if(!isset($muzyk)) $muzyk = 'glowna';
  15.  
  16. if(empty($_GET['artysta'])) {
  17. if(file_exists('./muzycy/'.$muzyk.'.php')) {
  18. include('./muzycy/'.$muzyk.'.php');
  19. }
  20. } elseif(!empty($_GET['artysta'])) {
  21. if(file_exists('./muzycy/artysci/'.$artysta.'.php')) {
  22. include('./muzycy/artysci/'.$artysta.'.php');
  23. }
  24. } else {
  25. include('404.php');
  26. }
  27. ?>
  28.  
  29. </td></tr>
  30. </table>
  31. </body>
  32. </html>


Do katalogu muzycy wrzuć sobie plik kult.php, a do katalogu artyści kazik.php. Czyli tworzysz pliki
./index.php
./glowna.php (gdzie umieszczasz jakiś tekst powitalny)
./404.php (gdzie umieszczasz tekst np. "podana strona nie istnieje")
./muzycy/kult.php
./muzycy/artysci/kazik.php

Pozdrawiam.
kresh
Drogi kokosie ależ to niemal plagiat winksmiley.jpg
zbyt
Wielkie dzieki! Oczywiscie dla kokosa i kresha smile.gif
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.