Php 在会话中编辑值
场景:Php 在会话中编辑值,php,html,Php,Html,场景: 我有一个简单的php表单来计算东西和计算价格。 现在我被我的编辑功能卡住了 我有一个简单的开关开关($\u GET['actie']),带有添加、编辑和删除等情况 这是我的会话:$\u会话['data'][]=$\u POST 编辑案例: if (isset($_POST['submitnieuw'])) $data['lengtezijde'][$_GET['key']] = $_POST['nieuw']; Laden(0); 编辑表单: else
我有一个简单的php表单来计算东西和计算价格。
现在我被我的编辑功能卡住了
- 我有一个简单的开关
,带有添加、编辑和删除等情况开关($\u GET['actie'])
- 这是我的会话:
$\u会话['data'][]=$\u POST代码>
if (isset($_POST['submitnieuw']))
$data['lengtezijde'][$_GET['key']] = $_POST['nieuw'];
Laden(0);
编辑表单:
else
echo $_GET['key'];
<form action="index.php?actie=wijzigen" method="post">
<input type="text" name="nieuw">
<input type="submit" name="submitnieuw" value="submit">
<input type="hidden" name="ky" value="$_GET['key;]">
</form>
break;>
else
echo$_GET['key'];
中断;>
我可以看到要编辑的值的键,但它不会编辑$data['lengtesijde']
值
如果缺少某些内容或我的问题不清楚,请告诉我。在您的编辑案例中,您使用的是键的GET值,但从您的表单来看,您应该在此处使用POST值。尝试更改此选项:
$data['lengtezijde'][$_GET['key']] = $_POST['nieuw'];
为此:
$data['lengtezijde'][$_POST['ky']] = $_POST['nieuw'];
我们不知道
$\u GET['key']
包含什么。你能显示var_dump($data)
和var_dump($\u GET['key'])
的输出吗?@loko print_r$data=([hoogte]=>1[kleur]=>1[lentezijde]=>233[toevoegen]=>toevoegen)@loko var dump key在array@johannes所以是的,你的$u GET['key']没有设置。我假设您想要表单中的隐藏字段,因此需要:$\u POST['ky']
+您的值中有一个输入错误:
应该是
我还看到您将html与php混合使用,但不使用php标记或回显html,这也会导致错误。感谢您的awnser,但我以前尝试过,但它不起作用。在如上示例中设置值后,您是否进行了打印($data)?另外,目标是更改会话中的值吗?如果是这样,您是否在以后对会话进行更改?你有没有试过这样做:$\u SESSION['data']['lengtezijde'][$\u POST['ky']]=$\u POST['nieuw'];如果我使用你的代码,然后打印它显示的数据:lentezijde]=>Array([$\u GET['key']]=>newvalue)
我的目标是编辑一个已经在会话中的发布值,如果我像你说的那样立即尝试,它只显示“lentezijde”