это код, который я должен вызвать мой файл 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.
Что я делаю неправильно?
Сценарий выполняется до того, как 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();
если я не ошибаюсь, потому что session_start () влияет на заголовки страницы, он должен быть вверху страницы, предпочтительно в первой строке кода.
то есть добавить этот сегмент в самый верх index.php:
<?php
session_start();
if (!isset($_SESSION['permiteCookie'])){
?>