Ну, я реплицировал вашу настройку и каждый раз, когда я могу получить переменную, установленную в $ _POST. Я также избегал внесения изменений в имена, поскольку вы заявили, что сессия правильно фиксируется по аналогичному вопросу.
Я смог воспроизвести ошибку, установив переменную namer в undefined или попытавшись извлечь значение, которое не было.
Поскольку я смог отправить переменную namer до тех пор, пока она установлена, вам придется сделать пару вещей.
Проверьте, установлена ли переменная namer, возможно, клиентская и серверная. Это в javascript, который вы проверили бы, если переменная не определена или в php вы проверили бы, установлен ли $ _POST ['namer'].
Ваша сессия может истечь, и поэтому вы пытаетесь получить значение, конечно больше не является там, это может зависеть, какие библиотеки вы используете или настройку вы заявили при создании сеанса
В обоих случаях вы будете испытывать ту же ошибку, и, выполняя некоторую логику, вы избежите этой ошибки.
стороне сервера проверки - PHP:
if(isset($_POST['namer'])){
echo $_POST['namer'];
}else{
echo "session capture unsuccessful";
}
стороне клиента проверка - Javascript:
var namer = sessionStorage.getItem("namer");
if (typeof namer === "undefined")
console.log("your session is not set");
} else{
// you could place your ajax request here
// or you could set the namer variable to a default value
}
Пожалуйста, если это возможно разработать ваши веб-приложения локально, как это проще отлаживать и как окончательное отметить его может быть проще использовать console.log (yourError) для целей отладки, а не оповещения (yourError).
Это обновленный вопрос ... все еще есть проблемы. – user1518003