Вызов php файла с помощью jquery — сессия var не читается

это код, который я должен вызвать мой файл index.php.

<script type="text/javascript">
$('button').click(function(){
$.ajax({url: 'permiteCookie.php'});
document.getElementById('div_cookies').style.display = 'none';
return false;
})
</script>
<?php
session_start();
if (!isset($_SESSION['permiteCookie'])){
?>
<div class="div_cookies" style="display: block;">
<div>
<div>
<div class="cookies_botoes">
<div class="cookies_bt2">
<button id="button" name="button" type="button">Close</button>
<a id="button" name="button" href="javascript:void(null);">Close</a></div>
</div>
</div>
</div>
</div>
<?php
}

?>

и это код, который я имею в файле permiteCookie.php

<?php
session_start();
$_SESSION['permiteCookie']=1;
?>

Проблема: я не могу получить доступ к $ _SESSION [‘permiteCookie’] в файле index.php.

Что я делаю неправильно?

0

Решение

Сценарий выполняется до того, как DOM будет готов. Вам нужно будет обернуть его в $(document).ready() обработчик:

<script type="text/javascript">
$(document).ready(function(){
$('button').click(function(){
$.ajax({url: 'permiteCookie.php'});
document.getElementById('div_cookies').style.display = 'none';
return false;
});
});
</script>

И пока вы используете jQuery, зачем использовать простой DOM, чтобы скрыть div?

$('#div_cookies').hide();
0

Другие решения

если я не ошибаюсь, потому что session_start () влияет на заголовки страницы, он должен быть вверху страницы, предпочтительно в первой строке кода.

то есть добавить этот сегмент в самый верх index.php:

<?php
session_start();
if (!isset($_SESSION['permiteCookie'])){
?>
0

По вопросам рекламы [email protected]