Beste leden van PHPhulp,

Met de Chrome browser werkt het script wel, maar met Internet Explorer niet.

Als ik op een vlag klik verandert de taal wel bij de Chrome browser, maar dit gebeurd niet met de Internet Explorer.

Heeft iemand een idee waar dit aan kan liggen?

Met vriendelijke groet,

Levy
Wat is de code die je gebruikt om de keuze te verwerken? Gezien het een imput type image is kan het daar heel goed zitten in een verschil tussen de elementen die verschillende browsers doorsturen.
Beste Ben van Velzen,

Bedankt voor uw snelle reactie,

De code is:

<?PHP
# We gaan straks cookies gebruiken, dus ob_start() is vereist!
ob_start ();
# De talen array
$aTalen = array ("nederlands", "engels");
?>
<?PHP
// De gebruiker heeft zijn voorkeur veranderd door een taal te kiezen uit
// het menu, en op de knop te drukken
if (isset ($_POST['kiezen']))
{
# Cookie met de gekozen taal met de duur van 1 jaar aanmaken
setcookie ("taal", $_POST['taalkeuze'], time()+60*60*24*7*52);
# De pagina moet gerefreshed worden voordat de cookie goed werkt bij een $_POST
header("Refresh:0");
}

// Heeft de gebruiker nog geen voorkeur-cookie? Maak dan een cookie aan
// met de nederlandse taal
if (!isset ($_COOKIE['taal']))
{
# Cookie met de nederlandse taal met de duur van 1 jaar aanmaken
setcookie ("taal", "nederlands", time()+60*60*24*7*52);
}
// Als de cookie wel is gezet, maar niet geldig is, maak dan een nieuwe
// cookie aan met de nederlandse taal
elseif (!in_array ($_COOKIE['taal'], $aTalen))
{
# Cookie met de nederlandse taal met de duur van 1 jaar aanmaken
setcookie ("taal", "nederlands", time()+60*60*24*7*52);
}
// De cookie is nu hoe dan ook geldig, en kan gebruikt worden
else
{
# Include de gekozen (indien nodig: -aangewezen) taal
include ("talen/" . $_COOKIE['taal'] . ".lang.php");
}
?>

[size=xsmall]Toevoeging op 09/04/2018 18:43:53:[/size]

Ja, het klopt dat het aan de image ligt.

Als ik een option value gebruikt (nederlands en engels) en een keuze maak met een button, dan doet het script het wel.

Met vriendelijke groet,

Ter
En om deze reden controleer je of de request method post is en niet of een bepaalde knop geset is. In IE wordt uit mijn hoofd alleen de kliklocatie doorgestuurd van image buttons, in de vorm van "kiezen_x" en "kiezen_y".
Oke, bedankt voor uw info.

Misschien is het wel mogelijk met een image om de waarden van kiezen door te sturen met een IE.

Met vriendelijke groet,

Ter

<input type="image" width="134" height="120" align="left" src="images/vlag/Nederland_250.png" name="kiezen" alt="Kies voor Nederlands" type="submit" value="nederlands" />


type kan niet 2 zaken zijn of image of submit
chrome stopt volgens mij bij het 1° type en ie bij het laatste

w3school schrijft bij de tryit het volgende:
<p><b>Note:</b> The input type="image" sends the X and Y coordinates of the click that activated the image button.</p>
Jan
Oke, dat wist ik niet.

<input type="image" width="134" height="120" align="right" src="images/vlag/United-Kingdom_250.png" name="kiezen" alt="Kies voor Engels" value="engels" />

Nu heb ik alleen de type image in het script.
Maar de waarden van de talen worden nog niet verandert in IE.


[size=xsmall]Toevoeging op 09/04/2018 19:00:40:[/size]

<form action="" method="post">
<input type="hidden" name="taalkeuze" value="engels"></input>
<input type="submit" width="134" height="120" align="right" src="images/vlag/United-Kingdom_250.png" name="kiezen" alt="Kies voor Engels" value="engels" />
</form>

Nu kan ik ook in IE de taal veranderen.
Maar nu zijn het buttons, graag wil ik dat het image(vlaggen) worden.

Met vriendelijke groet,

Ter
Omdat je niet op kiezen_x controleert.
Oke, maar hoe kan ik kiezen_x en y controleren?

[size=xsmall]Toevoeging op 09/04/2018 19:08:12:[/size]

Ik snap wat je ongeveer bedoeld. kiezen_x is Nederlands en kiezen_y is Engels. Dat Chrome daar geen onderscheid in maakt en IE wel.

[size=xsmall]Toevoeging op 09/04/2018 19:56:50:[/size]

<form action="" method="post">
<input type="hidden" name="taalkeuze" value="nederlands"></input>
<button type="submit" name="kiezen" value="nederlands"><img src="images/vlag/Netherlands.png" alt="SomeAlternateText"></button>

Nee, dat is niet wat ik bedoel. Image buttons krijgen namen door als kiezen_x en kiezen_y. en niet gewoon kiezen in sommige browsers. Verander dus regel 4 in je voorbeeld in if (isset($_POST['kiezen_x'])).
Beste Ben van Velzen,

Het klopt, alleen de kiezen verandert in kiezen_x.
Nu doen beide images het in verschillende browsers.
Bedankt!

Met vriendelijke groet,

Ter

Reageren