使用会话将数组Javascript存储到PHP

时间:2016-08-04 12:24:51

标签: javascript php arrays session

我想使用$ _SESSION将数组从index.html存储到file.php,但是我被卡住了(我不知道如何存储和访问它,因为我是php的新手)。 / p>

此处我的代码位于 index.html

<?php
  session_start();
  $_SESSION["myArray"] = $array;
?>
$(function generateArray (parameter) {

 var array = ["hello","world"];

});

这是我在file.php中的代码:

<?php
  session_start();
  //print_r($_SESSION["myArray"]) --> how can I do that?
 ?>

有人能帮助我吗? :&#39)

2 个答案:

答案 0 :(得分:1)

对于您的方案,您可以在会话

上向存储阵列发送ajax请求

在index.html中

$(document).ready(function(){
   var array = ["hello","world"];
   $.post('store_session.php',{data:array}, function(response){
      alert(response);
   });
});

在store_session.php

 <?php
      session_start();
      $_SESSION['my_array']=$_POST['data'];
      echo "data stored in session";

现在从浏览器调用file.php

 <?php
      session_start();
      print_r($_SESSION['my_array']);

答案 1 :(得分:0)

您有两个主要选项可以将数据从javascript传输到PHP

  1. 使用AJAX(GET或POST)
  2. 将其存储在Cookie中
  3. 您可以选择将数组作为纯文本或json传递。在我看来,JSON是最好的选择。

    选项一 - 使用cookies

    对于这个选项,我建议使用诸如jQuery Cookie之类的库。

    // Javascript
    var jsonArray = ["hello","world"];
    $.cookie("example", jsonArray); // Sample 1
    
    // PHP
    var_dump(json_decode($_COOKIE['example']));
    

    选项二 - 使用ajax

    $.ajax({
        url: '/index.php',
        type: 'post',
        dataType: 'json',
        data: jsonArray
    });
    
    // PHP
    var_dump($_POST);
    

    我没有提供太多细节,但我认为这应该会帮助你。祝你好运!。