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.
?
Onbekende gebruiker
09-04-2018 18:40
gewijzigd op 10-04-2018 00:00
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.
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".
?
Onbekende gebruiker
09-04-2018 18:50
gewijzigd op 10-04-2018 00:00
Oke, bedankt voor uw info.
Misschien is het wel mogelijk met een image om de waarden van kiezen door te sturen met een IE.
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
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'])).
?
Onbekende gebruiker
09-04-2018 20:21
gewijzigd op 10-04-2018 00:01
Beste Ben van Velzen,
Het klopt, alleen de kiezen verandert in kiezen_x.
Nu doen beide images het in verschillende browsers.
Bedankt!