无法将本地存储上载到数据库

时间:2015-08-31 10:15:36

标签: javascript php jquery mysql ajax

我有一些数据要存储在数据库中以进行同步。这是我的jQuery代码:

$(document).ready(function() {

  var local_array = [];

  for ( var i = 0, len = localStorage.length; i < len; ++i ) {
    local_array.push(localStorage.key(i));
    local_array.push(localStorage.getItem(localStorage.key(i)));
    console.log(local_array);
  } 

  $.ajax({
    type: "POST",
    url: "uploadtodatabase.php",
    data: {data: local_array}
  });
});

这是我的PHP代码:

  <?php session_start();
  $connection = new mysqli('host', 'name', 'password', 'database');
  $username   = $_SESSION['user'];
  $username   = $connection->real_escape_string($username);
  $query      = $connection->query("SELECT * from members WHERE username ='$username'");
  $matches    = mysqli_num_rows($query);

  if ($matches == 1) {
  $row     = mysqli_fetch_array($query);
  $visited = $_POST['data'];
  $visited = $connection->real_escape_string($visited);
  $connection->query("UPDATE members SET visited = '$visited' WHERE username ='$username'");
  } 

  mysqli_close($connection);
  ?>

当我在控制台中检查时,数据存储在local_array中。 jQuery代码是footer.php。这是我存储uploadtodatabase.php的位置。但是,footer.php会附加到可能不在同一目录中的其他文件中。这会导致问题吗?我之前从未使用过AJAX。所以,我可能会做一些愚蠢的事情而根本没有注意到它。

1 个答案:

答案 0 :(得分:0)

嗨,你已经到了一半,你只需要解码你的php代码中的数组......

if(!empty($_POST['data'])) {
    $data = explode(',',$_POST['data']);
    //code to store $data content
}

现在您可以使用$ data变量来存储localSotrage

中的会话内容