0

如果这已经得到解答或者是一个简单的解决方案,我们深表歉意。我已经尝试在此处和许多其他站点上搜索此问题的答案数周。

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

会发生什么:

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

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

然而发生的事情是,实际上它正在重用第一个变量,而是转而使用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));
}
4

0 回答 0