道歉,如果这已经得到回答或是一个简单的解决方案。我已经尝试在这里和许多其他网站上搜索这个问题的答案数周。
我遇到的问题是URL变量会被自动重用。
这是怎么回事:
从PAGE1提交更新记录表格,处理后转到PAGE2.php?variable1=true
然后显示相应的信息。然后我们在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));
}