URL变量在表单中重复使用

时间:2013-08-11 12:27:50

标签: php urlvariables

道歉,如果这已经得到回答或是一个简单的解决方案。我已经尝试在这里和许多其他网站上搜索这个问题的答案数周。

我遇到的问题是URL变量会被自动重用。

这是怎么回事:

  1. 从PAGE1提交更新记录表格,处理后转到PAGE2.php?variable1=true

  2. 第2页的
  3. 然后显示相应的信息。然后我们在PAGE2上提交另一个更新记录表格,处理后应转到PAGE3.php?variable2=true

  4. 然而,实际情况是,实际上它正在重用第一个变量,转而使用PAGE3.php?variable2=true&variable1=true

    我的问题是如何防止先前的url变量自动附加到新的?

    非常感谢提前。

    表单代码为:

    <form action="<?php echo $editFormAction; ?>" method="POST" enctype="multipart/form-data" name="bannerlinks" id="bannerlinks">
              <input name="username" type="hidden" id="username" value="<?php echo $row_loggedin['username']; ?>" />
              <input name="lastlogon" type="hidden" id="lastlogon" value="<?php echo $date ?>" />
              <input name="iconlinks" type="image" id="iconlinks" src="/assets/icon_links.gif" alt="Go to the Links Section" align="middle" />
              <input type="hidden" name="MM_update" value="bannerlinks">
            </form>
    

    操作代码为:

    editFormAction = $_SERVER['PHP_SELF'];
    if (is$set($_SERVER['QUERY_STRING'])) {
      $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
    }
    
    if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "bannerlinks")) {
      $updateSQL = sprintf("UPDATE members SET lastlogon=%s WHERE username=%s",
                           GetSQLValueString($_POST['lastlogon'], "date"),
                           GetSQLValueString($_POST['username'], "text"));
    
      mysql_select_db($database_Bootshare, $Bootshare);
      $Result1 = mysql_query($updateSQL, $Bootshare) or die(mysql_error());
    
      $updateGoTo = "/links/index.php?action=Date";
      if (isset($_SERVER['QUERY_STRING'])) {
        $updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
        $updateGoTo .= $_SERVER['QUERY_STRING'];
      }
      header(sprintf("Location: %s", $updateGoTo));
    }
    

0 个答案:

没有答案