【问题标题】:How to pass array with str_slipt to another page如何将带有 str_slipt 的数组传递到另一个页面
【发布时间】:2017-04-18 07:36:23
【问题描述】:

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

$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;

【问题讨论】:

  • $menuId 放在第一个脚本中的会话上,然后在第二个脚本中将其移出会话
  • 您在$_POST['menuId'] 中寻找$menuId。您是否将此值放入表单<input> 字段中?如果是这样,请告诉我们如何显示表单的 HTML
  • 以防万一您很困惑 var_dump() 可能会在页面上放置文本,但您不能在下一个脚本中使用该文本。从浏览器发送到表单脚本的所有数据都必须在 <form> 标记内和某种 <input> 字段中
  • 给定 4,5,6 的是变量 $mostrar['menuId'])。我有一个表,其中有这些值,我想将它传递给插入。唯一的值是一个形式是corp_resp。另一个是在另一个页面中传递的值。
  • 我不能在会话中逐页传递该数组?

标签: php arrays database


【解决方案1】:

如果您想发布该数组,您可以使用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

【讨论】:

  • 也许我做错了,但不是我想要的。该值 4,5,6 来自我也想发送到数据库的一个表,它与 corp_resp 中的表单中插入的值相关。
  • 您是否在第二页中获得$menuId 值?
  • in avaliações2.php(首页) $menuId = str_split($_SESSION['menuId'] = $mostrar['menuId']);我做了 menuId 的 var_dump 并且我有 array(1) { [0]=> string(1) "4" } array(1) { [0]=> string(1) "5" } array(1) { [ 0]=> string(1) "6" } 我想在第二页有相同的内容。发送 4,5,6 的内容是最常见的。而 mostrar 正在读取 menuIdPai=2 的数据库。如果您还有其他问题,请随时提问。
猜你喜欢
  • 1970-01-01
  • 2022-12-14
  • 2017-01-25
  • 2015-06-12
  • 1970-01-01
  • 1970-01-01
  • 2018-09-11
  • 2012-12-11
  • 1970-01-01
相关资源
最近更新 更多