I am using Ajax to automatically update a $_SESSION value when a select option is used. Specifically, if a user selects a language from a dropdown list, $_SESSION['language'] must be update. This not happening with my implementation but I am not seeing why.
1) Select:
<select id="lang" name="lang">
<option value="en" data-reactid=".1.$en">English</option>
<option value="es" data-reactid=".1.$es">EspaƱol</option>
<option value="it" data-reactid=".1.$it">Italiano</option>
<option value="sv" data-reactid=".1.$sv">Svenska</option>
</select>
$(document).ready(function() {
$('#lang').change(function() {
var language_selection = $(this).val();
$.ajax({
type: 'POST',
url: '../includes/ajax/language_ajax.php',
data: {lang: language_selection},
success:function(data){
alert('This was sent back: ' + language_selection);
$('#lang').html(data);
},
error:function(msg){
console.log('error: '+msg);}
});
});
if(isset($_POST['lang'])){
$lang = $_POST['lang'];
echo "Language " . $lang;
}
Text node data
: "Language " . $lang
echo
ed from php
is not a valid child element of <select>
element.
See <select>
Permitted content Zero or more
<option>
or<optgroup>
elements.