0

今、パスワード領域の更新に行き詰まりました。新しいパスワードをキー入力しようとしましたが、更新ボタンをクリックしましたが、データベースが更新されていません。ここの誰かがエラーの場所を教えてくれますか?

私の更新宣言です

    $editFormAction = $_SERVER['PHP_SELF'];
    if (isset($_SERVER['QUERY_STRING'])) {
      $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
    }

    if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {
  $updateSQL = sprintf("UPDATE user SET password=%s WHERE password_hidden=%s",
                       GetSQLValueString($_POST['password'], "text"),
                       GetSQLValueString($_POST['password_hidden'], "text"));

そして、これが私のフォームです

<form method="POST" name="form1" action="<?php echo $editFormAction; ?>">
<table border="0" align="center">
      <tr>
        <td width="130"><span class="style5">New Password</span></td>
        <td width="15"><div align="center" class="style5">:</div></td>
        <td ><label><input name="password" type="password" id="password" tabindex="1" value="<?php echo $row_chgpswd['password']; ?>" size="20" />
        <input name="password_hidden" type="hidden" value="<?php echo $row_chgpswd['password_hidden']; ?>" />
        </label>
        </td>
      </tr>
      <tr>
        <td height="26">&nbsp;</td>
        <td>&nbsp;</td>
        <td><div align="right">
          <input type="submit" name="button" id="button" value="Change Password" tabindex="3"/>
        </div>
        </td>
      </tr>
</table>
<input type="hidden" name="MM_update" value="form1">
</form>
4

2 に答える 2

2

入力要素の名前はどこemailtmですか? あなたのフォームには、それが含まれていません。だからおそらくそれが問題かもしれません。

フォームには含まれていませんが、$_POST!を介して PHP コードでアクセスしています。

$_POSTフォームから送信した入力要素の名前と値のペアを含む連想配列です。

于 2012-07-29T05:13:45.543 に答える
0

また、apache のログ ファイルを参照して、エラーがないかどうかを確認していただければ幸いです。どういうわけか、クエリで password と password_hidden の値を引用符で囲む必要があることがわかりました。

$updateSQL = sprintf("UPDATE user SET password='%s' WHERE password_hidden='%s'",
                   GetSQLValueString($_POST['password'], "text"),
                   GetSQLValueString($_POST['password_hidden'], "text"));
于 2014-11-05T05:58:57.413 に答える