を使用して FORM をそれ自体に送信してaction=""
いますが、奇妙なのは、送信後に変数が更新されていることです。
<form action="" method="post">
<input type="text" name="username">
<input type="text" name="password">
<input type="submit">
</form>
これが送信され、ユーザーが正常にログインすると、ハード リフレッシュしない限り、ページの残りの部分は更新された変数に応答しないようです。
if ( isset($_POST['found_step_1']) ) {
global $wpdb;
// We shall SQL escape all inputs
$username = $wpdb->escape($_REQUEST['username']);
$password = $wpdb->escape($_REQUEST['password']);
$remember = $wpdb->escape($_REQUEST['rememberme']);
if ($remember) {
$remember = "true";
} else {
$remember = "false";
}
$login_data = array();
$login_data['user_login'] = $username;
$login_data['user_password'] = $password;
$login_data['remember'] = $remember;
$user_verify = wp_signon( $login_data, true );
if ( is_wp_error($user_verify) ) {
echo "Invalid username or password. Please try again!";
$current_step = 1;
} else {
//echo "<script type="text/javascript">window.location='". get_bloginfo('url') ."'</script>";
$current_step = 2;
}
$wpdb->flush();
}
下のページがレンダリングされると... POSTの前にあったものをレンダリングしているようです...最新のデータが何で構成されているかを表示する唯一の方法は、ページをハードリフレッシュすることです。それは本当に奇妙です。