检查表单是否已经提交给自己一旦做了一件事,如果再回来做另一件事?

时间:2014-05-01 16:15:18

标签: php forms submit crud

我有一张提交给自己的表格。当我想编辑某些内容时,我会将数据放在空字段的位置。我正在尝试检查表单是否已经提交一次,以便它知道如果它再次返回并将数据放在下一个提交的空白字段中,则运行更新查询。

我认为我要做的是在第一次调用$submitted运行查询后创建变量并将其设置为true然后当表单返回自身时看到{{1}它可以将另一个变量设置为true,然后让我运行编辑查询。

这种方法似乎不起作用,我无法弄清楚原因。谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

那不会起作用,因为该变量不是持久的。在请求中存储此var的一些替代方法可能是:

  1. 使用$ _SESSION全局变量来存储表单提交的次数:

    (此处我假设您的表单使用POST作为请求方法,并且您的提交按钮ID为"提交")

    if( $SERVER['REQUEST_METHOD'] == 'POST' && !empty( $_POST['submit'] ) ){
    
          //
          //deal with your form action here
          //
    
          //Here's the bit where you store/update your counter
          if( !isset( $_SESSION['submitted'] ){
              $_SESSION['submitted'] = 1;
          else {
              $_SESSION['submitted']++;
          }
    
          //Echo your counter
          echo "This form has been submitted " . $_SESSION['submitted'] . " time(s)";
    
    }
    
  2. 使用表单中的隐藏字段存储您的计数器。请检查此回答hidden field in php

  3. 希望有所帮助