#php #mysql
Вопрос:
Я хочу отключить пользователя, нажав на кнопку, и во время этого нажатия записать в базу данных MySQL счет игрока, который до этого был в переменной сеанса. Зная, что отключение может быть сделано вот так:
<?php
session_start();
$_SESSION = [];
session_destroy();
header('Location: ../../index.php');
Я пытался это сделать:
<?php
session_start();
require('actions/database.php');
$updateScore = $bdd->prepare("UPDATE `users` SET score=? WHERE id=?");
$updateScore->execute(array($_SESSION['score'], $_SESSION['id']));
$_SESSION = [];
session_destroy();
header('Location: ../../index.php');
но это не работает :/
Я совершенно новичок в этих языках, так что этот вопрос, вероятно, очень глупый, заранее извините. спасибо за чтение 🙂
Комментарии:
1. Вам нужно позвонить
session_start()
, прежде чем читать и/или записывать переменные сеанса. Прямо сейчас вы пытаетесь прочитать значения сеанса до его начала.2. Я пробовал, и с самого начала это не работает
session_start()
, но, вероятно, это намного лучше, чем моя версия3. Это не просто «вероятно, намного лучше», это необходимо для того, чтобы вы вообще могли считывать значения сеанса. Если это все еще не работает, значит, есть более чем одна проблема. Вы сбросили значения
$_SESSION['score']
и$_SESSION['id']
проверили, содержат ли они то, что вы ожидаете? Проверьте журнал ошибок веб-серверов на наличие ошибок. Также добавьте в свои запросы правильную обработку ошибок . Вам также следует подробнее рассказать о том, что означает «не работает». Объясните подробно, что происходит. Неверные данные? Ничего? Есть ли у вас выходные данные перед этим кодом? Какую отладку вы провели?4. Я нашел ошибку в журнале, это, видимо, проблема в путь, потому что я получаю это : в PHP фатальная ошибка: требуется(): сбой открытия требуется ‘actions/database.php’ (в include_path=’.:/Применения/MAMP/Бен/РНР/php7.4.16/Либ/для PHP’) в /Applications/MAMP/htdocs/seio/actions/users/logoutAction.php в строке 3 , но это странно, потому что я использую ту же строку в другой файл в том же каталоге, и он работает хорошо
5. Если вам требуются такие файлы, как вы, путь будет относительным от файла php для входа. Отредактируйте вопрос, чтобы включить сообщение об ошибке, структуру файлов и папок вашего приложения (соответствующие файлы) и объяснить, что такое URL-адрес (что такое файл PHP для ввода).