如何将带有str_slipt的数组传递给另一个页面

时间:2016-12-03 13:34:46

标签: php arrays database

我将一个数组中的各种字符串转换为一个页面,然后将数据库放入另一个页面中。

$menuId = str_split($_SESSION['menuId'] = $mostrar['menuId']);

var_dump($menuId);

这是我在第一页的输出。

array(1) { [0]=> string(1) "4" } array(1) { [0]=> string(1) "5" } array(1) { [0]=> string(1) "6" }

在第二页我有那个输出。

string(0) "" 

我需要在数据库中插入相同的数组,但这不会发生。

我的代码是:

        $id_resp = (isset($_POST['id_resp']) ? $_POST['id_resp'] : '');
        $id = $_SESSION['UtilizadorID'];
        $data = (isset($_POST['data']) ? $_POST['data'] : '');
        //$menuId = $_SESSION['menuID'];
         $menuId = (isset($_POST['menuId']) ? $_POST['menuId'] : '');

        var_dump($menuId);


          $option = isset($_POST['corp_resp']) ? $_POST['corp_resp'] : false;
   if ($option) {          
      foreach ( $option as $corp_resp ) 
        mysql_query("INSERT INTO respostas (id_resp, corp_resp,id,data,menuId) VALUES ('','" . $corp_resp . "','" . $id . "', NOW( ) , '$menuId')")  or die("Alguma coisa correu mal durante o registo. MySQL erro: ".mysql_error());
   } else {                                                          
     echo "task option is required";
     exit;

1 个答案:

答案 0 :(得分:0)

如果您想发布该数组,可以使用serialize方法进行发布,如下所示。

<input type="hidden"
  id="menuId"
  name="menuId"
  value="<?php print base64_encode(serialize($menuId)) ?>">;

发布后,您可以unserialize如下所示使用它。

$menuId= $_POST["menuId"];
$menuId = unserialize(base64_decode($menuId));

你也可以使用会话变量。

$_SESSION['menuId'] = $menuId

参见参考HERE