За последние 24 часа нас посетили 6864 программиста и 477 роботов. Сейчас ищут 142 программиста ...

Проблема с сессиями

Тема в разделе "PHP для новичков", создана пользователем r67wru, 16 апр 2018.

  1. r67wru

    r67wru Новичок

    С нами с:
    14 июл 2017
    Сообщения:
    33
    Симпатии:
    2
    Доброго времени суток форумчане.
    Помогите не могу понять что за проблема не передается сессия на другую страницу.

    PHP:
    1. <?php
    2.  
    3. $_SESSION['shop'][$_POST['tovar_id']] = $_POST['tovar_kolvo'];
    4. ?>
    Сессия пишется на файлов в temp но вывода нет.
    проверяю
    PHP:
    1. <? var_dump($_SESSION); ?>
    Notice: Undefined variable: _SESSION in
    Сессия формируется в модальном окне boostrap. Куда подскажете копать?
     
  2. TeslaFeo

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

    С нами с:
    9 мар 2016
    Сообщения:
    2.577
    Симпатии:
    638
    каждый раз перед работой с супер глобальным массивом $_SESSION нужно инициализировать сессию вот так:
    каждый раз, на каждой странице.
    когда нибудь ты поймешь, какой это бред, если, конечно, не бросишь это дело :)
     
  3. r67wru

    r67wru Новичок

    С нами с:
    14 июл 2017
    Сообщения:
    33
    Симпатии:
    2
    данные приходят через JS на файл с началом сессии. На той странице где выполняется старт сессии сессия видна, а на других нет.
    То есть сессия стартует при клике
     
  4. nospiou

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

    С нами с:
    4 фев 2018
    Сообщения:
    2.431
    Симпатии:
    322
    При клике на что?) Сессия передается в заголовке ответа от сервера. На что ты планируешь нажимать?
     
  5. TeslaFeo

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

    С нами с:
    9 мар 2016
    Сообщения:
    2.577
    Симпатии:
    638
    session_start(); напиши перед сессионной переменной, которая не работает.
     
    Maputo нравится это.
  6. r67wru

    r67wru Новичок

    С нами с:
    14 июл 2017
    Сообщения:
    33
    Симпатии:
    2
    на кнопку добавить в корзину. данные с кнопки приходят в файл где стартуется сессия
    --- Добавлено ---
    данные приходят в файл где приходит сессия
    [​IMG]
    [​IMG]
     
  7. TeslaFeo

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

    С нами с:
    9 мар 2016
    Сообщения:
    2.577
    Симпатии:
    638
    ты сделал то, что я предложил?)
     
  8. r67wru

    r67wru Новичок

    С нами с:
    14 июл 2017
    Сообщения:
    33
    Симпатии:
    2
    Пробовал, без изменений
     
  9. TeslaFeo

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

    С нами с:
    9 мар 2016
    Сообщения:
    2.577
    Симпатии:
    638
    выложи код "другой страницы"
    --- Добавлено ---
    в актуальном состоянии
     
  10. nospiou

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

    С нами с:
    4 фев 2018
    Сообщения:
    2.431
    Симпатии:
    322
    Я бы сказал напиши до вывода любой информации в файле в котором планируешь использовать сессионную переменную
     
  11. r67wru

    r67wru Новичок

    С нами с:
    14 июл 2017
    Сообщения:
    33
    Симпатии:
    2
    Код (Text):
    1. <? require_once("inc/r67w.db"); ?>
    2. <style>
    3. P{text-align: justify; padding: 10px;}
    4. </style>
    5. <!DOCTYPE html>
    6. <html>
    7. <head>
    8.     <title><? echo $title; echo ' - Корзина'; ?></title>
    9.     <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    10.     <meta name="robots" content="all" />
    11.     <meta name="viewport" content="width=device-width, initial-scale=1">
    12.     <script type="text/javascript" src="js/jquery-3.2.1.min.js"></script>
    13.     <script type="text/javascript" src="js/bootstrap.min.js"></script>
    14.     <script type="text/javascript" src="js/bootstrap-modal.js"></script>
    15.     <script type="text/javascript" src="js/for_zakaz.js"></script>
    16.     <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
    17. </head>
    18. <body>
    19. <div class="container">
    20.         <div class="row">
    21.             <div class="col-md-12"><? require_once('template/top.php'); ?></div>
    22.         </div>
    23.         <div class="row">
    24.             <div class="col-md-12" style="margin-top: 10px;"><? require_once('template/menu_top.php'); ?></div>
    25.         </div>
    26.     <div class="row">
    27.         <div class="col-md-3"><? require_once('template/menu_left.php'); ?></div>
    28.         <div class="col-md-9">
    29. <?
    30. echo '<ul class="breadcrumb">
    31.   <li><a href="./">Главная</a></li>
    32.   <li>Корзина</li></ul>';
    33.  
    34. var_dump($_SESSION['shop']);
    35. print_r($_SESSION);
    36.          
    37.          
    38. // подгружаем модальные окна
    39. require_once("files/modal.php");
    40. ?>
    41.      
    42.         </div>
    43.     </div>
    44.         <div class="row">
    45.             <div class="col-md-12"><? require_once('template/footer.php'); ?></div>
    46.         </div>
    47. </div>

    Код (Javascript):
    1. function session_tovar(){
    2.     var tovar_kolvo = $("#tovar_kolvo").val();
    3.     var tovar_id = $("#tovar_id").val();
    4.     $.ajax({
    5.         type: "POST",
    6.         url: "./inc/session_tovar.php",
    7.         data: {tovar_kolvo:tovar_kolvo,tovar_id:tovar_id}
    8.     })
    9.     .done(function(message){
    10.             $("#ss_add_tovar").html(message);
    11.             //setTimeout(function() {window.location.reload();}, 4900);
    12.     });
    13. }
     
  12. nospiou

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

    С нами с:
    4 фев 2018
    Сообщения:
    2.431
    Симпатии:
    322
    это здесь у тебя старт сессии?) Сессия должна стартовать в самом начале.
     
  13. r67wru

    r67wru Новичок

    С нами с:
    14 июл 2017
    Сообщения:
    33
    Симпатии:
    2
    сессия стартует в файле session_tovar.php (по сути из файла modal.php (так вывод с JS через этот файл))
     
  14. nospiou

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

    С нами с:
    4 фев 2018
    Сообщения:
    2.431
    Симпатии:
    322
    А причем здесь этот файл к тому где ты пытаешься вывести сессию?
    Здесь стартуй
    первый раз такое вижу)
     
  15. r67wru

    r67wru Новичок

    С нами с:
    14 июл 2017
    Сообщения:
    33
    Симпатии:
    2
    r67w.db подключение к бд (так как надо данные обработать в базе после их получения)
    а стили просто из кода не вырезал
     
  16. Maputo

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

    С нами с:
    30 июл 2015
    Сообщения:
    977
    Симпатии:
    150
    @r67wru, Вы сначала обращаетесь к сессии, а потом "возможно" она у Вас стартует:
    PHP:
    1. var_dump($_SESSION['shop']);
    2. print_r($_SESSION);
    3. // подгружаем модальные окна
    4. require_once("files/modal.php");
     
  17. nospiou

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

    С нами с:
    4 фев 2018
    Сообщения:
    2.431
    Симпатии:
    322
    Я там троеточие поставил
     
  18. TeslaFeo

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

    С нами с:
    9 мар 2016
    Сообщения:
    2.577
    Симпатии:
    638
    @Fell-x27 снизойди
    дай плз человеку ссылку, которую ты всегда даешь новичкам, где рассказывается, где работает PHP и всё такое)
    ненагуглил)
     
  19. nospiou

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

    С нами с:
    4 фев 2018
    Сообщения:
    2.431
    Симпатии:
    322
  20. r67wru

    r67wru Новичок

    С нами с:
    14 июл 2017
    Сообщения:
    33
    Симпатии:
    2
    так сессия ловиться в файле cart.php
     
  21. Maputo

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

    С нами с:
    30 июл 2015
    Сообщения:
    977
    Симпатии:
    150
    @TeslaFeo, Эту чтоли? В первой строке поиска га запрос "Как работает пхп"
     
    TeslaFeo нравится это.
  22. TeslaFeo

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

    С нами с:
    9 мар 2016
    Сообщения:
    2.577
    Симпатии:
    638
    нет. Нужно дать ту, в которой рассказывается, что сессия не формируется в модальном окне bootstrap)
    тут до сессий еще далеко :)
     
  23. nospiou

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

    С нами с:
    4 фев 2018
    Сообщения:
    2.431
    Симпатии:
    322
    как тебе намекнуть...
    PHP:
    1. 1st page
    2.  
    3. <?php
    4. $_SESSION["a"] = "LOGGED";
    5. ?>
    6.  
    7. 2nd page
    8.  
    9. <?php
    10. echo $_SESSION["a"];
    11. ?>
     
  24. TeslaFeo

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

    С нами с:
    9 мар 2016
    Сообщения:
    2.577
    Симпатии:
    638
    да!
    ТС, читай, вникай, осознавай)
     
  25. r67wru

    r67wru Новичок

    С нами с:
    14 июл 2017
    Сообщения:
    33
    Симпатии:
    2
    так она все равно получается сессия пустая приходит. хотя во временные файл сессия со значением пишеться