Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在会话中编辑值_Php_Html - Fatal编程技术网

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”