За последние 24 часа нас посетили 17419 программистов и 1683 робота. Сейчас ищет 891 программист ...

Сессия, поддомен, ajax

Тема в разделе "Прочие вопросы по PHP", создана пользователем macbeth9, 18 фев 2014.

  1. macbeth9

    macbeth9 Активный пользователь

    С нами с:
    27 июн 2012
    Сообщения:
    13
    Симпатии:
    0
    Приветствую всех! Есть проблема, не могу установить сессию через async запрос.

    И так. Имеется домен site.com и поддомен sub.site.com, с sub.site.com мне нужно выполнить запрос используя ajax и поставить в обработчике-файле сессию. Но так не получается.

    Файл который размещен на sub.site.com
    index.php

    Код (Text):
    1. <?php
    2. ini_set('session.cookie_domain', ".site.com");
    3. header('Access-Control-Allow-Origin: *');
    4. session_start();
    5. ?>
    6. <script src="http://site.com/jquery.js"></script>
    7. <a href='#' class='test'>test</a>
    8. <script>
    9. $(".test").click(function(){
    10. $.ajax({
    11. type: "POST",
    12. url: "http://site.com/test_ajax.php",
    13. data:1,
    14. success: function (data, status) {
    15. alert(data);
    16. }
    17. });
    18. });
    19. </script>
    файл test_ajax.php который размещен на site.com

    Код (Text):
    1. ini_set('session.cookie_domain', ".site.com");
    2. header('Access-Control-Allow-Origin: *');
    3. session_start();
    4.  
    5. $_SESSION['ajax'] = 1;
    6.      
    7. print_r($_SESSION);
    Вообщем и все. Нажимаю по ссылке, получаю alert где написано что Array
    (
    [ajax] => 1
    )
    На поддомене и основном домене создаю по файлу, где вывожу всю информацию о сессиях и значения ajax там нет. При том что я могу установить сессию как на поддомене и основном домене, эта сессия будет видна и там и там. Что делать? Почему так? Буду благодарен за помощь.
     
  2. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.251
    Адрес:
    там-сям
    http://phpfaq.ru/debug

    Убедитесь, что вы видите сообщения об ошибках, если они возникают.
     
  3. macbeth9

    macbeth9 Активный пользователь

    С нами с:
    27 июн 2012
    Сообщения:
    13
    Симпатии:
    0
    Поставил на всех страницах

    Код (Text):
    1.  
    2. ini_set('display_errors',1);
    3. error_reporting(E_ALL ^E_NOTICE);
    Ошибок нет, еще ajax возвращает пустую переменную $_COOKIE, хотя куки установлены и видны на поддомене и основном домене, но не видны через ajax запрос.