Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Access][PHP]$_server request
Forum PHP.pl > Forum > Przedszkole
cniak
Mam problem, otóż zamiast tworzyć dla każdego odnośnika nowy warunek if, chciałbym odrazu mieć to w jakiejś pentli lub zwykłym skrypcie.
Sprawa przedstawia się następująco. Przykładowo mam odnośnik "kontakt", po jego kliknięciu wyskakuje adres strony: http://localhost/folder/kontakt. I chciałbym aby otwierał się plik o nazwie kontakt z rozszeżeniem pliku ".html". Używam przy tym htaccess (zamiast index.php?id=kontakt >> poprostu kontakt.

HTACCESS:
Kod
RewriteRule ^kontakt$ index.php?id=kontakt [NC,L]
RewriteRule ^([0-9]+)$ index.php?id=$1 [NC,L]



Ja to widze tak:

  1. $title = ($_SERVER['REQUEST_URI']);
  2.  
  3. if($_GET['id']=$title){
  4. include ($title.".html");
  5. }

Działaniem ($_SERVER['REQUEST_URI']) jest uzyskanie: /folder/kontakt, a chodzi mi o zwykłe kontakt :/ Jak to zrobić?

chciałem zrobić folder "/folder" ale nie można użyć znaku "/"

Moglibyście jakoś doradzić? Może pętla jakaś bądź inne kodowanie :/ Próbowałem stworzyć też nowy plik PODSTRONA.PHP i w nim:
  1. <?
  2. if($_GET['id']=="kontakt"){
  3. echo 'kontakt';}
  4.  
  5. ?>

dla funkcji if:
  1. <?
  2. $podstrona = include ("podstrona.php");
  3.  
  4. if($_GET['id']=$podstrona){
  5. include ($podstrona.".html");
  6. }
  7. ?>



Coś źle robie - napewno skoro nie działa :/ Tylko co? Początkujący jestem i dużo wiedzy do wchłonięcia mi potrzeba smile.gif)
motyl-pl
Jeżeli zależy Ci by pobierać z $_SERVER request to możesz zrobić tak

  1. <?php
  2. $title = ($_SERVER['REQUEST_URI']);
  3.  
  4. $wejscie= array("/folder");
  5. $wyjscie = array("");
  6.  
  7. $poprawione = str_replace($wejscie, $wyjscie $title);
  8.  
  9. ?>


Chodź źle się na moje uczysz pobierając dane akurat z SERVER request
cniak
a w czym to przeszkadza i jest jakas mozliwosc tego pominiecia? smile.gif
motyl-pl
Zależy czy chcesz pobierać dane z bazy danych czy wywoływać jakiś plik ..
Zasada jest prosta daje Ci przykład:

.htaccess
Kod
RewriteRule ^([^-]+).html$ ?strona=$1 [L]


  1. <?php
  2. $strona = $_GET['strona'];
  3. if(file_exists("".$strona.".php")) {
  4. include("".$strona.".php"); }
  5. ?>


I odnośnik:
Kod
<a href="kontakt.html" title="Kontakt">Kontakt</a>


Na szybko i najprościej Ci rozpisałem .. ale powinieneś jeszcze filtrować dane wchodzące : )
cniak
Nie mam żadnej bazy danych - dla mnie to jeszcze za wcześnie - jak wspominałem jestem początkującym smile.gif A jest jakas mozliwosc abym nie musial przy dodawaniu później kolejnych podstron by edytowac htaccess? Poprostu zwykly skrypt by zamiast index.php?id=kontakt był poprostu kontakt. Wiem, ze napisalem tam wyżej to co mam w htaccess, ale recznie doszedlem do tego, chodzi mi teraz o to by miec gotowego skrypta smile.gif
motyl-pl
Rozpisałem Ci to tak jak mówisz .. podając jako przykład.
cniak
nie rozumiem tego troche, to co mi napisales z htaccessem, mozesz to jakos wytlumaczyc? Probowalem na rozne sposoby ten skrypt ale nie dziala mi:/
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.