Я запустил простой ajax и разместил значения на той же странице, которую я сохранил в переменные сеанса, что прекрасно работает, но всякий раз, когда я печатаю эти переменные сеанса в консоли, он не показывает последние значения.
<script>
$(function(){
function showValues() {
jQuery.ajax({
type: "POST",
data: $( "form" ).serialize(),
success: function(data){
var x = <?php echo json_encode($_SESSION['q10']); ?>;
console.log(x);
}
});
}
$( "input[type='checkbox'], input[type='radio']" ).on( "click", showValues );
$( "select" ).on( "change", showValues );
showValues();
});
</script>
Выше сценарий сериализовать значения из радио, флажок и выбрать входы позже, я сохранил их на следующих переменных
<?php
if(isset($_POST['q10']))
{
if($_POST['q10'] == 2){
$_SESSION['q10']=1;
}else{
$_SESSION['q10']=0;
}
}
Изначально я устанавливаю $ _SESSION [‘q10’] = 0, и консоль показывает это значение, но всякий раз, когда я меняю значение, оно показывает предыдущее значение. Не обновлялся
P.s я получаю измененные значения после обновления страницы. я не должен получить обновленные значения в консоли
<nav class="segmented l3_seg">
<input type="radio" name="q10" value="1" id="10a">
<label for="10a">Richtig</label>
<input type="radio" name="q10" value="2" id="10b">
<label for="10b">Falsch</label>
</nav>
Многие комментарии и статьи, которые вы найдете о php, выполняются на стороне сервера, а Javascript — на стороне клиента. PHP запускается один раз и выводит данные в браузер один раз, если вы хотите снова подключиться к серверу / php, вам нужно использовать ajax, который вы делаете.
Короче , вам нужно использовать переменную js, содержащую ajax, возвращенный ответ.
Обратный ответ от php
if(isset($_POST['q10']))
{
....
return $_SESSION['q10'];
}
И отображать в консоли как
success: function(data){
console.log(data);
}
Читайте о AJAX dataType
Других решений пока нет …