Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Path_info i wykporzystnie do warunkow
Forum PHP.pl > Forum > Gotowe rozwiązania
blitz
Witam
Mam takei pytanie..
Otoz wlasnie chce wykrozystac zalety "przyjzancyh urli" wykrozstujaca Art ze strony glownej.
Wszystko cacy, jednak mam problem..
U mnei bedzie przekazywana tylko 1 zmienna w adresie czyli np
http://do-mena.pl/artykuly/nazwa_artu
gdzie "artykuly" jest plikiem php -> artykuly.php ktory jest na serwe bez rozszerzenia (potega .htaccess)
nazwa_artu jest zmienna do przekazania..

Oto kod
  1. <?php
  2.  
  3. $arrParams = array();
  4. $strDefaultPath = '/';
  5. $_SERVER['PATH_INFO'] = isset( $_SERVER['PATH_INFO'] ) ? $_SERVER['PATH_INFO'] : $strDefaultPath;
  6. $arrParams = explode( '/', substr( $_SERVER['PATH_INFO'], 1) );
  7. /// tablica z nazwami artow
  8. $art = array('motory', 'auta', 'rowery', 'deski');
  9. /// ropozniae nazwy artu i zaincludowanie odpowiedniego pliku
  10. if ($arrParams [0] == $art)
  11. {
  12.  include('$arrParams [0].php');
  13. echo('<title>$arrParams [0]</title>');
  14. }
  15.  
  16.  
  17. ?>

To oczywscie nei dziala bo nie wiem jak rozwiazac problem z trablica.
Nie chce robic warunkow dla kazdej zmiennej ze if (zmienna==jaksi tam art ) to zaincluduj dopier jakis tam art.php
Latwiej bediz ejsli nazwy zmninnych uloze w talbicy i jak zrobic zeby teraz rozpoznawala alement z talbicy i includowala plik o takiej wlasnie nazwie?
Co zrobilem zle?
Wybaczcie ale jestem zielony worriedsmiley.gif

Pozdro
scanner
pokąż strukture plików, bo coś mieszasz, albo ja nie rozumiem
blitz
wszystko znajude sie w 1 katalogu
Jest glowny plik artykuly (to samo co artykuly.php tylko bez rozszerzenia "php")
Reszta plikwo ktore maja byc zaincludowane sa rowniez w tym katalogu czyli:
motory.php, auta.php, deski.php

I teraz jak ktos wchdozi przez adres domena.pl/artykuly/motory
to plik artykuly ma rozpoznac zmienna i obadac czy w zdefiniowanej talbicy jest taka nazwa i jak jest to zaincludowac plik ktorego nazwa jest taka sama jak nazwa zmiennej, w tym przypadku motory.php
Mam nadizeje ze jasnp napisalem.
scanner
No toś skomplikowął to na maksa...
Pominę tablicę, bo to nie ma sensu, skoro masz pliki ładnie ponazywane:
  1. <?php
  2. $arrParams = array();
  3. $strDefaultPath = '/';
  4. $_SERVER['PATH_INFO'] = isset( $_SERVER['PATH_INFO'] ) ? $_SERVER['PATH_INFO'] : $strDefaultPath;
  5. $arrParams = explode( '/', substr( $_SERVER['PATH_INFO'], 1) );
  6. $sUserChoice = $arrparams[0];
  7. // $sUserChoice = 'motory' | 'auta' | 'trolejbusy' | ...
  8.  
  9. if ( file_exists( $sUserChoice.'.php' )
  10. {
  11. include( $sUserChoice.'.php');
  12. echo '<title>'.$sUserChoice.'</title>';
  13. }
  14. ?>
blitz
dziala super ladnie
Mam tylko jeszcz jedno lamerskei pytanie
jak poradzic soebie z motywme ze jak dodajae np jakas grafike np
<img src='baner.gif'>
to nie wyswietla mi pliku bo sciezka jest taka
http://jakasodmena/artykuly/baner.gif

plik artykuly ktory jest pierowtnie wlasnie plikiem .php jest traktowny teraz jako katalog.
Jak latwo rozwiazac ten problem poniewaz podawnie za kazdym razem linka przez domene tuj. http://jakasdomena.pl/baner.gif to bardoz niewygodne, zwlaszcza jak cala grafika jest w glownym katalogu (tla tabel, strzlki, loga, banery etc)
Nawet odpada opcja ze zrobieniem katalogu "artykuly" i tam trzymac grafike, pozniewaz nie da sie utowrzyc katalogu "artykuly" a zwiazen jest z tym ze jest plik artykuly bez rozszerzenia..
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.