私は趣味のウェブサイトのパスワードリセットフォームを作成しています。フォーム自体は美しく動作しています。私はDreamweaver CS5を使用しています。これは私の質問に関係するコードです。ユーザー名が存在しない場合ユーザーをページにリダイレクト
パスワードリセットが何らかの理由で失敗した場合は、そのユーザーを特定のページにリダイレクトする必要があります。私は、Dreamweaverがそれを生成した方法で、どこで、どのようにして文中で行うのかはわかりません。
これはコードのすべてではなく、問題はセキュリティとは関係ありません。おかげさまです。
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1_reset")) {
$password_md5 = md5($_POST['password']);
$updateSQL = sprintf("UPDATE users SET password=%s WHERE username=%s AND email=%s AND security=%s",
GetSQLValueString($password_md5, "text"),
GetSQLValueString($_POST['username'], "text"),
GetSQLValueString($_POST['email'], "text"),
GetSQLValueString($_POST['security'], "text"));
mysql_select_db($database_login_form, $login_form);
$Result1 = mysql_query($updateSQL, $login_form) or die(mysql_error());
$updateGoTo = "login.php";
if (isset($_SERVER['QUERY_STRING'])) {
$updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
$updateGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $updateGoTo));
}
$totalRows_resetpass = mysql_num_rows($resetpass);mysql_select_db($database_login_form, $login_form);
$query_resetpass = "SELECT * FROM users";
$resetpass = mysql_query($query_resetpass, $login_form) or die(mysql_error());
$row_resetpass = mysql_fetch_assoc($resetpass);
$totalRows_resetpass = mysql_num_rows($resetpass);
?>
ようになっているはずだと思います。それは全く危険です。 –
SQLを使用して別のページにリダイレクトする方法を知りたいですか? –
更新クエリが成功せず、失敗した場合、ユーザーを特定のページにリダイレクトする必要があります。 – Cyndi