Akuszer
2.09.2009, 17:55:03
Witam wszystkich.
W jaki sposób mogę przesłać zmienne GET dalej?
Przykładowo, użytkownik wchodzi na adres index.php?zmienna1=1&zmienna2=2, ja chcę wygenerować link, który będzie zawierał wszystkie te zmienne dodatkowo doklejając zmienna3.
Przykładowy adres może wyglądać tak jak podałem, ale równie dobrze może być tam tylko jedna zmienna, albo nie być ich wcale.
Zmiennych będzie dużo, więc ręcznie sprawdzanie za pomocą isset raczej odpada.
sweter
2.09.2009, 17:59:33
Może tak

echo "<a href=\"index.php?zmienna1=".$_GET['zmienna1']."&zmienna2=".$_GET['zmienna2']."&zmienna3=zmienna3\">link</a>";
kipero
2.09.2009, 18:02:50
$link = 'index.php?';
foreach ($_GET as $key => $value){
$link .= $key . '=' . $value . '&';
}
$link .= 'zmienna3=lorem';
Pisane z głowy. Na pewno musisz coś poprawić, ale masz chociaż pogląd jak to zrobić.
@antyqjon: dzięki, postaram się zapamiętać
antyqjon
2.09.2009, 18:53:35
A to co napisał kipero, robi funkcja
http_build_query
Cytat
Przykładowo, użytkownik wchodzi na adres index.php?zmienna1=1&zmienna2=2, ja chcę wygenerować link, który będzie zawierał wszystkie te zmienne dodatkowo doklejając zmienna3.
~kipero, po co koło wynajdywać na nowo?
- $_SERVER['QUERY_STRING']
- parse_str
- http_build_query
Akuszer
3.09.2009, 05:56:39
A czy jest podobna metoda do przesłania również danych POST? Ich może być naprawdę dużo.
kipero
3.09.2009, 14:43:49
Cytat(erix @ 2.09.2009, 21:34:02 )

~kipero, po co koło wynajdywać na nowo?
- [i]$_SERVER['QUERY_STRING']
- parse_str
- http_build_query
To było pierwsze co wpadło mi do głowy. Ale rzeczywiście nie ma to najmniejszego sensu, jeśli istnieją funkcje, które są za to odpowiedzialne, o których nie wiedziałem do tej pory