Переменные сеанса не одинаковы на php страницах - PullRequest
0 голосов
/ 03 мая 2020

Обратите внимание, я использую session_start(); перед любым кодом в обоих этих php файлах:

Проблема в минимально сокращенном формате:

index. php

<?php
  session_start();
  $_SESSION['msg'] = 'hello';
?>

При вызове add_to_cart. php с использованием ajax в индексе. php:

              $.ajax({
                type:"POST",
                url:"add_to_cart.php",
                async: false, //tested with this true and now false
                data:{test_product:productName},
                success:function(response){
                  alert(response);
                }
              });

add_to_cart. php:

<?php
    session_start();

    echo json_encode($_SESSION['msg']);
?>

вывод предупреждения null

Я работаю php 7,4 на nginx, на Ubuntu.

Ответы [ 2 ]

0 голосов
/ 03 мая 2020

Я проверил на другой машине, работающей Apache вместо Nginx, и это сработало. Var_dump для сеанса непосредственно в файле ajax php был равен нулю в nginx, однако на сервере apache содержимое оставалось нетронутым.

0 голосов
/ 03 мая 2020

Пожалуйста, попробуйте это.

Удалите $_SESSION['cart'] = array(); из индекса. php

И сохраните товар в корзине, как указано ниже в add_to_cart. php.

$_SESSION['cart'][] = [$productName,$productQty];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...