﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	severity	resolution	keywords	cc
23412	Password protected pages - redirect after login	dood_cro		"Hi,

I am using WP 3.5.1 and I have found out that after a successful login to a password protected page, WP won't redirect back.

This is because referrer is empty.

So I have modified page login script to have hidden ""_wp_http_referer"" field in form.

After that, login redirects back to page normally.

Here is my script:
{{{
	function my_password_form() {
	    global $post;
	    $label = 'pwbox-'.( empty( $post->ID ) ? rand() : $post->ID );
	    $o = '<form class=""protected-post-form"" action=""' . get_option( 'siteurl' ) . '/wp-login.php?action=postpass"" method=""post"">
	    <p>' . __( ""To view this protected post, enter the password below:"" ) . '</p>
	    <label for=""' . $label . '"">' . __( ""Password:"" ) . ' </label><input name=""post_password"" id=""' . $label . '"" type=""password"" size=""20"" /><input type=""submit"" name=""Submit"" value=""' . esc_attr__( ""Submit"" ) . '"" />
	    <input type=""hidden"" name=""_wp_http_referer"" value=""'.get_permalink().'"" />
	    </form>
	    ';
	    return $o;
	}
	add_filter( 'the_password_form', 'my_password_form' );
}}}


This functions returns empty URL to wp-login.php script:
{{{
function wp_get_referer() {
	$ref = false;
	if ( ! empty( $_REQUEST['_wp_http_referer'] ) )
		$ref = $_REQUEST['_wp_http_referer'];
	else if ( ! empty( $_SERVER['HTTP_REFERER'] ) )
		$ref = $_SERVER['HTTP_REFERER'];

	if ( $ref && $ref !== $_SERVER['REQUEST_URI'] )
		return $ref;
	return false;
}
}}}
I hope this helps.

I have tried this with all plugins disabled, and also on 20-12 theme, same error occurs.

Bye,
Dubravko

"	defect (bug)	new	normal	Awaiting Review	General	3.5.1	normal		reporter-feedback	
