これがすでに回答されている場合、または簡単な解決策である場合はお詫び申し上げます。ここや他の多くのサイトで、この問題に対する答えを何週間も探してみました.
私が抱えている問題は、URL 変数が自動的に再利用されることです。
何が起こるかは次のとおりです。
PAGE1 から Update Record フォームを送信し、処理後に次の場所に移動します。
PAGE2.php?variable1=true
2 ページに適切な情報が表示されます。次に、PAGE2 で別の Update Record フォームを送信します。このフォームは、処理後に に移動し
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));
}