0

これがすでに回答されている場合、または簡単な解決策である場合はお詫び申し上げます。ここや他の多くのサイトで、この問題に対する答えを何週間も探してみました.

私が抱えている問題は、URL 変数が自動的に再利用されることです。

何が起こるかは次のとおりです。

  1. PAGE1 から Update Record フォームを送信し、処理後に次の場所に移動します。PAGE2.php?variable1=true

  2. 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));
}
4

0 に答える 0