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

Store Array Javascript to PHP with session

本文关键字:存储 PHP Javascript 数组 会话      更新时间:2023-09-26

我想用$_SESSION将数组从index.html存储到file.php,但我遇到了麻烦(我不知道如何存储和访问它,因为我在php中是新的)。

以下是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?
 ?>

有人能帮我吗?:')

对于您的场景,您可以在会话上向存储阵列发送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']);

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

  1. 使用AJAX(GET或POST)
  2. 将其存储在Cookie中

您可以选择以纯文本或json形式传递数组。在我看来,JSON是最好的选择。

选项一-使用cookie

对于这个选项,我建议使用一个库,比如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);

我没有说太多细节,但我认为这应该会对你有所帮助。祝你好运