Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] php_self i wyjatek dla index.php
uglukha
post 30.09.2009, 18:20:15
Post #1





Grupa: Zarejestrowani
Postów: 110
Pomógł: 0
Dołączył: 5.05.2008

Ostrzeżenie: (0%)
-----


Witam,
mam w headerze taki kod, dzieki niemu zmiana jezyka nie zmienia podstrony na ktorej jestes.

  1. <? print '<a href="' . $_SERVER['PHP_SELF'] . '?language=english">English</a>'; ?>


Mam tylko problem, bo nie chcialbym zeby pojawial sie index.php nigdzie w linkach, mozna to tak rozwiazac?
Zanim zaczne probowac, chialem sie Was zapytac czy w dobra strone kombinuje.

  1. <?php
  2. $a = $_SERVER['PHP_SELF'];
  3. $b = index.php;
  4.  
  5. if($a==$b) // sprawdzam czy php_self to index.php, mozna w ten sposob?
  6. {
  7. print '<a href="'?language=english">English</a>'; // dodaje langauge bez adresu aktualnej strony
  8. }
  9. else
  10. {
  11. print '<a href="' . $_SERVER['PHP_SELF'] . '?language=english">English</a>'; // dodaje langauge z adresem aktualnej strony
  12. }
  13. ?>


dzieki z gory za odp
pozdrawiam!


--------------------
Death and Decay >.<
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
Fifi209
post 30.09.2009, 19:05:29
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Zainteresuj się może mod_rewrite


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
uglukha
post 6.10.2009, 11:46:53
Post #3





Grupa: Zarejestrowani
Postów: 110
Pomógł: 0
Dołączył: 5.05.2008

Ostrzeżenie: (0%)
-----


witam, dzieki za odp, poczytalem o tym mod_rewrite ale w tym jednym przypadku wolalbym to rozwiazac tak jak to napisalem, kod ponizej dziala, ale najwyrazniej ciag "index.php" jako $b musze jakos inaczej zapisac, poniewaz przy kazdej podstronie , i przy index.php zawsze jest wykonywana opcja po "else".

Gdy wpisalem
  1. $b = $_SERVER['PHP_SELF'];
wszystko bylo ok, link byl bez index.php...

Moje pytanie wiec brzmi, jak zapisac inaczej $b = index.php zeby to dzialalo?

aktualny kod:

  1. <?
  2. $a = $_SERVER['PHP_SELF'];
  3. $b = "index.php";
  4.  
  5. if($a==$b)
  6. {
  7. print '<a href="?language=english">English</a>';
  8. }
  9. else
  10. {
  11. print '<a href="' . $_SERVER['PHP_SELF'] . '?language=english">English</a>';
  12. }
  13. ?>


--------------------
Death and Decay >.<
Go to the top of the page
+Quote Post
Suh
post 6.10.2009, 12:10:24
Post #4





Grupa: Zarejestrowani
Postów: 112
Pomógł: 27
Dołączył: 24.08.2007
Skąd: Tarnów

Ostrzeżenie: (0%)
-----


Zobacz sobie co zwraca $_SERVER['PHP_SELF'] i będziesz wiedział dlaczego zawsze wchodzi do else.
Możesz to zrobić metodą informatyka (czyli byle jak byle było) modyfikując zmienną $b do takiej postaci jak wyświetli Ci PHP_SELF, jednak to przy umieszczeniu pliku index.php w podfolderze ponownie zwróci Ci część warunku wykonywaną w else.
Można też np. użyć funkcji strstr, co uelastyczniło by Twój skrypt.

Ten post edytował Suh 6.10.2009, 12:11:07


--------------------
Pomogłem ? Odwdzięcz się, kliknij POMÓGŁ.
Go to the top of the page
+Quote Post
uglukha
post 6.10.2009, 12:24:54
Post #5





Grupa: Zarejestrowani
Postów: 110
Pomógł: 0
Dołączył: 5.05.2008

Ostrzeżenie: (0%)
-----


wlasnie wpadlem na ten sam pomysl smile.gif
wyswietlilem zmienna $a

okazalo sie ze jej zawartosc to "/index.php" a gdy bylo w testowym katalogu to "/test/index.php" smile.gif

juz wszystko dziala, dzieki

p.s. to tak na przyszlosc, czego uzyc do wyciecia sciezki, zeby doprowadzic $a do postaci samego index.php, bez sciezki? strip_costam? winksmiley.jpg


--------------------
Death and Decay >.<
Go to the top of the page
+Quote Post
nospor
post 6.10.2009, 12:26:50
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
zeby doprowadzic $a do postaci samego index.php, bez sciezki? strip_costam?

raczej strip_manual...
http://pl2.php.net/manual/pl/function.basename.php


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
uglukha
post 6.10.2009, 12:52:38
Post #7





Grupa: Zarejestrowani
Postów: 110
Pomógł: 0
Dołączył: 5.05.2008

Ostrzeżenie: (0%)
-----


super, wielkie dzieki!


--------------------
Death and Decay >.<
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 01:45