启动会话获取会话ID并将其写入数据库

时间:2016-01-12 20:19:57

标签: php mysql database session sessionid

我尝试创建一个小的登录+调查,并尝试将所有数据写入数据库。特别重要的是,为每个用户获取会话ID,以便将调查的每个页面的信息添加到数据库的右侧。

我的问题在于,似乎会话未启动或我无法创建会话ID。在数据库中写入已经有效,但如果我包含有关会话的行,则不行。

google之后总是把我带到同样的答案(这对我不起作用)我在这里试试。这是我的代码,首先调用callDatabase.php,在此文件中创建会话ID并创建数据库条目(如果这是最佳解决方案,则为idk,我猜不是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数据库在本地运行。

1 个答案:

答案 0 :(得分:0)

问题是由Xampp引起的,因为某些端口可能被阻塞,代码正在与虚拟机,linux和apache服务器以及phpmyadmin一起工作。检查错误日志将有助于确定阻塞的端口是否导致问题。

要与xampp一起解决问题,建议停用所有可能阻止所需端口的工具(skype,通过vpn连接,防病毒工具......)或更改端口以使其没有冲突。