Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] 2 pytania ($_SERVER, $_GET i if z macierzą)
statek
post
Post #1





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 2.06.2009

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


Witam,

napisałem sobie skrypt rozpoznający wybrany język i zapisujący go do ciasteczek. Wszystko działa, ale mam wątpliwość czy można pewne sprawy rozwiązać prościej. Na stronie mam pełno odnośników postaci:

http://strona.pl/index.php?zm1=ble&zm2=ole&zm3=jupi

a aktualny adres pobieram tak:
$aktualny_adres= 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] . '?' . $_SERVER['QUERY_STRING']; //może jest funkcja zwracająca cały adres, jaka?

i wstawiam jako odnośnik:
echo '<a class="polski" href="' . $aktualny_adres . '&lang=pl"></a>';

I niby jeśli ktoś będzie stale zmieniać adres, nie klikając w jakiś odnośnik do podstrony. to zbiera się w adresie:
&lang=pl&lang=pl&lang=pl&lang=en&lang=pl

Mogę napisać ifa, który to wycina z adresu i fajnie. Ale czy jest lepszy sposób? Czy da się jakoś przekazywać wartości zmiennych (nadanych w czasie kliknięcia) aby nie było ich w adresie? Albo czy da się zrobić coś takiego:
1 jeśli kliknięcie w określony obszar (np odnośnik), to
2 wykonaj zbiór instrukcji, po czym
3 przejdź do nowej lokalizacji.



Jeśli tak to w jaki sposób, jakieś wskazówki?

I ostatnie pytanie, czy jeśli mam ifa postac:
if( $a==1 || $a==3 || $a==11 || $a==5 )
{
...
}
to można w jakiś sposób, użyć tablicy? if( a= array(1, 3, 11, 5) ), jak to zrobić?

Pozdrawiam i proszę o odpowiedzi i wskazówki.

Ten post edytował statek 9.06.2009, 20:30:06
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
statek
post
Post #2





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 2.06.2009

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


Dzięki za odpowiedzi!

Spawnm tylko ja nie pytałem jak zapisać wartość do sesji albo ciasteczka. Chodzi o to jak wykonać jakąkolwiek instrukcje (w tym przypisanie) jednocześnie z kliknięciem użytkownika w odnośnik. Bo użytkownicy mogą zmienić język i miło by było gdyby dało się uniknąć dopisywania: 〈=pl do adresu

fifi209, to in_array jest super! Szkoda, że nie można wpisywać w ifa tablic tak jak w: str_replace(array("\r\n", "\r", "\n"), '', $string).
Znalazłem: REQUEST_URI - zawiera adres bez nazwy domeny. Czyli wystarczy dodać go do HTTP_HOST i mam aktualny adres, zamiast składać 3 stringi. O to chodziło? Czy może jest coś jeszcze? Albo czy może się zdarzyć, że REQUEST_URI będzie niedostępne a PHP_SELF i QUERY_STRING będą dostępne? Albo na odwrót? Ewentualnie HTTP_REFERER nadałoby się do aktualnego adresu przy zmianie języka, bo poprzedni i aktualny adres różnią się tylko 〈=en, który jest zapisywany do ciastka/sesji. Czyli HTTP_REFERER wypada najwygodniej, ale czy jest równie niezawodne co tamte? Zawsze będzie działać? Czy obojętne których wartości będę używał?

Ponawiam pytanie: czy da się inaczej niż poprzez dodawanie do adresu, przekazywać wartości nadane zmiennym podczas kliku?


Pozdrawiam.

PS
Mam dwa nowe pytania:
Jak wywołać funkcje, której nazwę mam zapisaną w tablicy jako string (wcześniej została includowana)?
Napisałem skrypt, który działa ale po przerobieniu go na funkcje (dodadniu function nazwa(){ ... return; } i includowaniu pliku z funkcją nie jestem wstanie wywołać tej funkcji, gdzie może być błąd - nawiasy i średniki sprawdziłem setki razy ...
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 15.10.2025 - 05:26