0

私がいくつかの投稿で勉強した限り、次のフォームは送信#CCC後にdivに戻るはずです

$editFormAction = $_SERVER['PHP_SELF']."#CCC";

if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "formX")) { 
$updateSQL = sprintf("UPDATE foodtable SET food_preference=%s  WHERE food_id=%s",    
                       GetSQLValueString($_POST['food_preference'], "text"),
                       GetSQLValueString($_POST['food_id'], "int"));

  mysql_select_db($database_XYZ, $XYZ);
  $Result1 = mysql_query($updateSQL, $XYZ) or die(mysql_error());

  $updateGoTo = "preference.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
    $updateGoTo .= $_SERVER['QUERY_STRING'];
      }
  header(sprintf("Location: %s", $updateGoTo));
    exit ();
}

<body>

<div id ="AAA">
<p>Some text</p>
</div>

<div id ="BBB">
<p>Some more text</p>
</div>

<div id ="CCC">
     <form action="<?php echo $editFormAction; ?>" method="post" name="formX" id="formX">
     <table align="center">
     <tr valign="baseline">
     <td align="right" nowrap="nowrap">Update Food Name:</td>
     <td><input type="text" name="food_name" value="" size="32" /></td>
     </tr>
     <tr valign="baseline">
     <td nowrap="nowrap" align="right">
     <input type="hidden" name="MM_update" value="formX" />
     <input type="hidden" name="food_id" value="<?php echo $query['food_id']; ?>" />
     </td>
     <td>
     <input type='submit' value='Update Food Name'/>"
    </td>
    </tr>
    </table>
   </form>
</div>

</body>

ただし、送信時にdivに戻ることはありません#CCC。上記のコードブロックに欠けているものはありますか?

ありがとう、

4

1 に答える 1

2

フォームはyourpage#CCCに送信されていますが、行は

header(sprintf("Location: %s", $updateGoTo));

フォームを処理した後、リダイレクトしています。

于 2013-02-26T17:45:42.867 に答える