2016-01-12 1 views
0

Я пытаюсь создать небольшое опрос пользователя + и попытаться записать все данные в базу данных. Особенно важно получить идентификатор сеанса для каждого пользователя, чтобы добавить информацию о каждой странице опроса в нужную строку базы данных.Запустить сеанс, получить идентификатор сеанса и записать его в базу данных

Моя проблема заключается в том, что кажется, что сеанс либо не запущен, либо я не могу создать идентификатор сеанса. Запись в базе данных уже работает, но не если я включаю строки о сеансе.

После того, как google'ing много, что всегда брало меня на тот же ответ (который не работает для меня), я попробую его здесь. Вот мой код, сначала 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.

+0

* После того, как google'ing много, что всегда принимало меня к одному и тому же ответу (который не работает для меня) *, что было ответом, который не сработал для вас? Знание того, что вы пробовали, помогает нам показывать новые решения. – Martin

+0

Все написано так же просто, как я написал в вопросе: session_start(); $ sID = session_id(); Но это не работает – MasterF

+1

Я надеялся на ссылку на попытку решения, которое вы уже пробовали. Чтобы мы/мы не пытались снова дать вам такое же решение. – Martin

ответ

0

Проблема вызвана Xampp, поскольку некоторые порты могут быть заблокированы, например, код работает с виртуальной машиной, Linux и Apache-сервером вместе с phpmyadmin. Проверка журналов ошибок поможет выяснить, являются ли заблокированные порты причиной проблемы.

Чтобы решить проблему вместе с xampp, рекомендуется деактивировать все инструменты, которые могут блокировать необходимые порты (скайп, подключение через vpn, антивирусное средство, ...) или изменить порты, чтобы там не было конфликтов.

Смежные вопросы