Check inbouwen om het toevoegen aan url te stoppen (talen)

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Snelle Jaap

Snelle Jaap

06/02/2017 14:41:06
Quote Anchor link
Ik heb een script dat de taal aanpast op mijn site. Maar wanneer ik 2 keer klik op de url blijft hij de get waarde toevoegen aan de url.

Voorbeeld:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?
$actual_link
= "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
<
a href="<? echo $actual_link; ?>?lang=en" class="btn-selector">EN</a>
?>


Bij 1 klik werkt alles en krijg je website.nl?lang=en maar wanneer je 2 keer klikt krijg je website.nl?lang=en?lang=en

Hoe kan ik dit voorkomen?
 
PHP hulp

PHP hulp

25/04/2024 21:34:56
 
- Ariën  -
Beheerder

- Ariën -

06/02/2017 14:44:24
Quote Anchor link
Doe het eens zonder $_SERVER[REQUEST_URI].

Verder mogen variabelen best wel buiten quotes.
 
Snelle Jaap

Snelle Jaap

06/02/2017 14:45:53
Quote Anchor link
Zelfde verhaal als ik dat weghaal.
 
Ward van der Put
Moderator

Ward van der Put

06/02/2017 14:53:25
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$actual_link
= 'http://' . $_SERVER['HTTP_HOST'] . strtok($_SERVER['REQUEST_URI'], '?');
?>
 
Snelle Jaap

Snelle Jaap

06/02/2017 14:58:43
Quote Anchor link
**knip**
Top, ik was ook al bij strtok uitgekomen maar het werkte niet bij mij. Blijkbaar moet http_host er ook nog bij. Nu werkt hij, thanks.

Edit:
Om de leesbaarheid te vergroten is het niet nodig om het voorlaatste bericht te quoten. Ik heb deze daarom verwijderd.
Gewijzigd op 07/02/2017 11:44:15 door - Ariën -
 
Thomas van den Heuvel

Thomas van den Heuvel

06/02/2017 16:31:29
Quote Anchor link
Dit werkt dan wellicht, maar komt toch een beetje over als een hack?

Daarnaast, is er niet het gevaar dat andere informatie die in het querystring-deel wordt doorgegeven op deze manier wordt weggekieperd?

Tevens, misschien is het handig om een soort van functie of methode te hebben voor de opbouw van een URL, want het komt een beetje over alsof dat het probleem is (weinig tot geen controle over de uiteindelijke vorm van een (interne) link).

En tot slot, mogelijk wil je een andere oplossingsrichting gebruiken: een waarbij de taalkeuze vastligt door de URL (denk aan een subdirectory, bijvoorbeeld /en/) of door middel van een cookie (waarin de voorkeurstaal staat opgeslagen).
 
Snelle Jaap

Snelle Jaap

07/02/2017 11:33:07
Quote Anchor link
**quoteknip**

Voorlopig werkt dit prima voor me, dus ik ga het niet veel moeilijker maken dan het hoeft te zijn.

Edit:
Om de leesbaarheid te vergroten is het niet nodig om het voorlaatste bericht te quoten. Ik heb deze daarom verwijderd.
Gewijzigd op 07/02/2017 11:43:05 door - Ariën -
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.