Я пытаюсь собрать базовое приложение для координации на своем рабочем месте, у меня есть уникальные логины для каждого сотрудника. Часть приложения должна иметь дисплей (с помощью Ajax для обновления), показывающий, кто доступен или недоступен для загрузки следующего случая. Проще говоря; Я могу получить базу данных для обновления с использованием исправленных значений без особых трудностей, но я хочу, чтобы сценарий обновления был динамическим, так как он обновит правильный статус пользователя.Обновление таблицы базы данных с использованием переменных сеанса - как?
Это фрагмент сценария update.php;
<?php
require_once("data/connect.php");
$user_name = $_SESSION['user_name'];
mysqli_query($con,"UPDATE users SET status = 'AVAILABLE' WHERE user_name='$user_name'");
mysqli_close($con);
exit;
?>
Как я уже говорил выше, если значение в секции WHERE является фиксированным значением, например, имя по определенным пользователям - это работает. Однако после изменения переменной сеанса это не так. Есть идеи?
UPDATE:
ИТАК после выполнения ниже предложения
<?php
require_once("data/connect.php");
session_start();
$user_name = $_SESSION['user_name'];
var_dump($user_name);
mysqli_query($con,"UPDATE users SET status = 'ONLINE' WHERE user_name = '$user_name'");
mysqli_query($con, $query);
var_dump($query, $con->error);
mysqli_close($con);
exit;
Я получаю это;
NULL NULL string(0) ""
Дополнительная информация; Если я использую верификации $ _SESSION другими способами, он отлично работает. Т.е.;
<?php
require_once("data/connect.php");
echo $_SESSION['user_name'];
?>
Это прекрасно работает, чтобы заполнить различные имена пользователей или что когда-либо он установлен на эхо от сессии, но когда я пытаюсь использовать его в качестве переменной для записи в базе данных/таблицы, тогда падает , Даже после размещения «session_start()» в начале.
Дальнейшее обновление
Я попытался запустить скрипт на главной странице, и при загрузке он запускает скрипт, используя переменную сеанса! Но все же не выполняется при запуске как вызываемый файл. Не уверен, что я сделал не так.
Вы проверили перед использованием значений сеанса .. session_start() должен быть на месте – Sundar
Я отредактировал выше, показывая изменения. Я добавил session_start() - и снова запустил скрипт php с предлагаемыми линиями отладки. Вернулся; NULL NULL string (0) "", и он не выполнил обновление. – Tactless