Archief - header location met url variabelen

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

adrianhates

Legacy Member
Beste mensen

Via een functie op een website wil ik de gebruikers van taal laten veranderen + op dezelfde pagina laten terechtkomen waar ze waren bij aanroep van de functie.

Dat probeer ik met volgende functie.

PHP:
<?php
$value = $_GET['taal'];
$page = $_GET['page'];
switch($value){
	case 'nl':
		setcookie('lang','nl',time()+31536000,'/');
		header('Location: '.$page);
		break;
	case 'en':
		setcookie('lang','en',time()+31536000,'/');
		header('Location: '.$page);
		break;
	case 'de':
		setcookie('lang','de',time()+31536000,'/');
		header('Location: '.$page);
		break;
	case 'fr':
		setcookie('lang','fr',time()+31536000,'/');
		header('Location: '.$page);
		break;
	
}
?>

Hier wordt de gegeven taalcode en de url waar ze waren bij aanroep van de functie, doorgegeven als parameters.

Bijvoorbeeld : http://www.blabla.be/producten.php?id=1&produ=13&item=1


Probleem :

header('Location: http://www.blabla.be/producten.php?id=1&produ=13&item=1 ');

werkt niet.

De browser stuurt mij door naar
http://www.blabla.be/producten.php?id=1

Dus :

Kan header location maar 1 url variabele aan ofwat?
Iemand misschien een andere suggestie om dit op te lossen?

edit : kan dit liggen aan de '&'? moet ik daar misschien &amp; van maken fzo?

Bedankt!

Tyfius

Legacy Member
Van waar haalt gij die $_GET['page'] ?

Ik zou denken dat uw page eigenlijk alleen producten.php?id=1 is en de rest van de URL andere variabelen zijn. Dan gaat ge die natuurlijk niet kunnen ophalen.

passero

Legacy Member
eigenlijk logisch

stel dit:

Code:
<input name="page" type="hidden" value="http://www.blabla.be/producten.php?id=1&produ=13&item=1"/>

Als ge dan een get doet dan krijgt ge zo iets in uwe url:
Code:
http://www.yourURL.be?page=http://www.blabla.be/producten.php?id=1&produ=13&item=1

Aangezien het een get is gaat de engine na elke & een andere parameter zien dus als gij dan
$_GET['page'] doet is het vrij logisch dat ge maar http://www.blabla.be/producten.php?id=1 terugkrijgt

ge kunt dat oplossen door een urlencode te doen:

PHP:
$url = urlencode("http://www.yourURL.be?page=http://www.blabla.be/producten.php?id=1&produ=13&item=1");
echo '<input type="hidden" name="page" value="' . $url . '"/>";

Gogeta

Legacy Member
passero zei:
eigenlijk logisch

stel dit:

Code:
<input name="page" type="hidden" value="http://www.blabla.be/producten.php?id=1&produ=13&item=1"/>

Als ge dan een get doet dan krijgt ge zo iets in uwe url:
Code:
http://www.yourURL.be?page=http://www.blabla.be/producten.php?id=1&produ=13&item=1

Aangezien het een get is gaat de engine na elke & een andere parameter zien dus als gij dan
$_GET['page'] doet is het vrij logisch dat ge maar http://www.blabla.be/producten.php?id=1 terugkrijgt

ge kunt dat oplossen door een urlencode te doen:

PHP:
$url = urlencode("http://www.yourURL.be?page=http://www.blabla.be/producten.php?id=1&produ=13&item=1");
echo '<input type="hidden" name="page" value="' . $url . '"/>";
chill :) kzou da keiver gezocht ebbe :D de url inleze as string, dan alles na een "=" getten en daarna de url zo weer opbouwen :D
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan