朋友们下午好。
我想将我通过 $_post 从表单传递的两个字段的值保存在会话变量中,并且该会话变量存储所述字段的数据,直到我销毁它,以便能够用数据存储在同一个地方。
有人能告诉我应该如何将表单数据存储在会话数组中吗?
我正在使用 PHP。我的代码如下,但出现错误:
数组字符串转换。
$art = $_POST["select-productos"];
$und = $_POST["und-productos"];
$productos = array("articulo" => $art, "cantidad" => $und);
if (empty($_SESSION["listadecompra"])) {
$i = 0;
$_SESSION["listadecompra"][$i] = $productos;
} else {
$i = count($_SESSION["listadecompra"]);
$i++;
$_SESSION["listadecompra"][$i] = $productos;
}
/* Creamos tabla de contenido */
$listado = $_SESSION["listadecompra"];
foreach ($listado as $value) {
echo "<tr><td>" . $value . "</td><td>" . $value . "</td></tr>";
}
//var_dump($_SESSION["listadecompra"]);
echo "Total de productos: " . $i . "<br>";
我想要的是能够使用从表单接收到的数据来增加我存储在会话中的数组,然后在表格中显示它们。
一切顺利。
将
Array String conversión
发生在这一行:因为您没有引用数组将具有的索引。
这样做应该可以解决问题:
这次在逻辑上,您犯的另一个错误是,您认为必须告诉代码应该将新数据插入到数组的哪个位置,这让您搞砸了。这就是为什么你坚持检查它是否是空的,在柜台
$i
和其他故事上。使用这种表示法:$array[]=$elemento
,根据它是否为空,将一个元素插入到数组的第一个或最后一个位置,我不明白为什么你必须首先询问它是否为空或询问它的元素总数然后将其加一并插入那里。所有这些都是使用已经提到的符号完成的。同样根据您的逻辑,在第一种情况下,当您打印以下内容时:0
当已经有一个元素时,它会打印你。我将在答案代码中大大简化您的逻辑: