Я пытаюсь создать небольшой логин + опрос и попытаться записать все данные в базу данных. Особенно важно получить идентификатор сессии для каждого пользователя, чтобы добавить информацию о каждой странице опроса в правую строку базы данных.
Моя проблема здесь, что кажется, что сеанс либо не запущен, либо я не могу создать идентификатор сеанса. Запись в базу данных уже работает, но нет, если я включу строки о сессии.
После google’а, который всегда приводил меня к одному и тому же ответу (который не работает для меня), я пробую это здесь. Вот мой код, сначала вызывается callDatabase.php, в этом файле создается идентификатор сеанса и создается запись в базе данных (хотя, если это лучшее решение, думаю, не xD):
<script type="text/javascript">
$.post( 'callDatabase.php', { 'entry[]': ["init"]} );
</script>
callDatabase.php:
<?php
header('Content-Type: text/json');
$test = $_POST['entry'];
session_start();
$sID = session_id();
$timestamp = time();
$servername = "local";
$username = "root";
$password = "rootpw";$conn = new mysqli($servername, $username, $password);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
mysqli_select_db($conn, 'myDb');
$sql = "INSERT INTO myTable (sID, timestamp, t1, rating, start, end, color, fight, completed)
VALUES ('$sID', '$timestamp', '-', '4', '_', '_', '_', '_', 'false')";
mysqli_query($conn, $sql);mysqli_close($conn);
session_unset();
session_destroy();
$_SESSION = array();
?>
Как я уже сказал, без сессионного материала он работает нормально, с ним браузер работает вечно, и я не получаю записи в своей базе данных. Так как я не получаю сообщение об ошибке, я не нашел решения о том, как это исправить.
Он работает локально, с XAMPP и базой данных mysql.
Проблема вызвана Xampp, так как некоторые порты могут быть заблокированы, например, код работает с виртуальной машиной, сервером Linux и Apache вместе с phpmyadmin. Проверка журналов ошибок поможет выяснить, не являются ли заблокированные порты причиной проблемы.
Чтобы решить эту проблему вместе с xampp, рекомендуется деактивировать все инструменты, которые могут заблокировать необходимые порты (скайп, соединение через vpn, антивирусное средство, …) или изменить порты, чтобы не было конфликтов там.
Других решений пока нет …