Jump to content
xisto Community
tricky77puzzle

Wordpress Login Trouble [resolved] It says something about cookies.

Recommended Posts

Whenever I try to login to my newly installed Wordpress account, it gives me this message at the top:Warning: Cannot modify header information - headers already sent by (output started at /home/a0123b56/public_html/wp-config.php:29) in /home/a0123b56/public_html/wp-login.php on line 12Warning: Cannot modify header information - headers already sent by (output started at /home/a0123b56/public_html/wp-config.php:29) in /home/a0123b56/public_html/wp-login.php on line 24And then when I ignore that and try to login, it says that either cookies are blocked or your browser doesn't support them.Does anyone know what might be the problem?I did a search and couldn't find anything. Please help!

Edited by tricky77puzzle (see edit history)

Share this post


Link to post
Share on other sites

As it is complaining that the headers have already been sent, that means that some HTML output is given by the script before the attempt to modify the headers. You can't change the headers once you've already started sending content. I assume that you have modified this copy of Wordpress in some way (themes, plugins, anything) and one of those is causing the problem.If you could post the content of wp-config.php (minus any sensitive info like passwords) and wp-login.php then we might be able to see what is going wrong.

Share this post


Link to post
Share on other sites

Here is the config.php file:

<?php// ** MySQL settings ** //define('DB_NAME', 'a0123b56_wp');	// The name of the databasedefine('DB_USER', 'a0123b56_wp');	 // Your MySQL usernamedefine('DB_PASSWORD', '*******'); // ...and passworddefine('DB_HOST', 'localhost');	// 99% chance you won't need to change this valuedefine('DB_CHARSET', 'utf8');define('DB_COLLATE', '');// You can have multiple installations in one database if you give each a unique prefix$table_prefix  = 'wp_';   // Only numbers, letters, and underscores please!// Change this to localize WordPress.  A corresponding MO file for the// chosen language must be installed to wp-content/languages.// For example, install de.mo to wp-content/languages and set WPLANG to 'de'// to enable German language support.define ('WPLANG', '');/* That's all, stop editing! Happy blogging. */define('ABSPATH', dirname(__FILE__).'/');require_once(ABSPATH.'wp-settings.php');?>

The password is there.

The db_username is the same as the database name. Is that the problem?

Share this post


Link to post
Share on other sites

The db_username is the same as the database name. Is that the problem?

No way. They have nothing to do with the headers, and Wordpress would output its own error if it couldn't connect to the database.

Could you also post wp-login.php up here please?

Share this post


Link to post
Share on other sites

No way. They have nothing to do with the headers, and Wordpress would output its own error if it couldn't connect to the database.

Whew. That's good to know.

Anyway, here's the wp-login.php:

<?phprequire( dirname(__FILE__) . '/wp-config.php' );$action = $_REQUEST['action'];$errors = array();if ( isset($_GET['key']) )	$action = 'resetpass';nocache_headers();header('Content-Type: '.get_bloginfo('html_type').'; charset='.get_bloginfo('charset'));if ( defined('RELOCATE') ) { // Move flag is set	if ( isset( $_SERVER['PATH_INFO'] ) && ($_SERVER['PATH_INFO'] != $_SERVER['PHP_SELF']) )		$_SERVER['PHP_SELF'] = str_replace( $_SERVER['PATH_INFO'], '', $_SERVER['PHP_SELF'] );	$schema = ( isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) == 'on' ) ? 'https://' : 'http://';	if ( dirname($schema . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']) != get_option('siteurl') )		update_option('siteurl', dirname($schema . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']) );}//Set a cookie now to see if they are supported by the browser.setcookie(TEST_COOKIE, 'WP Cookie check', 0, COOKIEPATH, COOKIE_DOMAIN);if ( SITECOOKIEPATH != COOKIEPATH )	setcookie(TEST_COOKIE, 'WP Cookie check', 0, SITECOOKIEPATH, COOKIE_DOMAIN);// Rather than duplicating this HTML all over the place, we'll stick it in functionfunction login_header($title = 'Login', $message = '') {	global $errors, $error, $wp_locale;	?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://forums.xisto.com/no_longer_exists/ xmlns="http://forums.xisto.com/no_longer_exists/; <?php language_attributes(); ?>><head>	<title><?php bloginfo('name'); ?> › <?php echo $title; ?></title>	<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />	<?php wp_admin_css(); ?>	<!--[if IE]><style type="text/css">#login h1 a { margin-top: 35px; } #login #login_error { margin-bottom: 10px; }</style><![endif]--><!-- Curse you, IE! -->	<script type="text/javascript">		function focusit() {			document.getElementById('user_login').focus();		}		window.onload = focusit;	</script><?php do_action('login_head'); ?></head><body class="login"><div id="login"><h1><a href="<?php echo apply_filters('login_headerurl', 'http://wordpress.org/'); ?>" title="<?php echo apply_filters('login_headertitle', __('Powered by WordPress')); ?>"><?php bloginfo('name'); ?></a></h1><?php	if ( !empty( $message ) ) echo apply_filters('login_message', $message) . "\n";	// Incase a plugin uses $error rather than the $errors array	if ( !empty( $error ) ) {		$errors['error'] = $error;		unset($error);	}	if ( !empty( $errors ) ) {		if ( is_array( $errors ) ) {			$newerrors = "\n";			foreach ( $errors as $error ) $newerrors .= '	' . $error . "<br />\n";			$errors = $newerrors;		}		echo '<div id="login_error">' . apply_filters('login_errors', $errors) . "</div>\n";	}} // End of login_header()switch ($action) {case 'logout' :	wp_clearcookie();	do_action('wp_logout');	$redirect_to = 'wp-login.php?loggedout=true';	if ( isset( $_REQUEST['redirect_to'] ) )		$redirect_to = $_REQUEST['redirect_to'];	wp_safe_redirect($redirect_to);	exit();break;case 'lostpassword' :case 'retrievepassword' :	$user_login = '';	$user_pass = '';	if ( $_POST ) {		if ( empty( $_POST['user_login'] ) )			$errors['user_login'] = __('<strong>ERROR</strong>: The username field is empty.');		if ( empty( $_POST['user_email'] ) )			$errors['user_email'] = __('<strong>ERROR</strong>: The e-mail field is empty.');		do_action('lostpassword_post');		if ( empty( $errors ) ) {			$user_data = get_userdatabylogin(trim($_POST['user_login']));			// redefining user_login ensures we return the right case in the email			$user_login = $user_data->user_login;			$user_email = $user_data->user_email;			if (!$user_email || $user_email != $_POST['user_email']) {				$errors['invalidcombo'] = __('<strong>ERROR</strong>: Invalid username / e-mail combination.');			} else {				do_action('retreive_password', $user_login);  // Misspelled and deprecated				do_action('retrieve_password', $user_login);				// Generate something random for a password... md5'ing current time with a rand salt				$key = substr( md5( uniqid( microtime() ) ), 0, 8);				// Now insert the new pass md5'd into the db				$wpdb->query("UPDATE $wpdb->users SET user_activation_key = '$key' WHERE user_login = '$user_login'");				$message = __('Someone has asked to reset the password for the following site and username.') . "\r\n\r\n";				$message .= get_option('siteurl') . "\r\n\r\n";				$message .= sprintf(__('Username: %s'), $user_login) . "\r\n\r\n";				$message .= __('To reset your password visit the following address, otherwise just ignore this email and nothing will happen.') . "\r\n\r\n";				$message .= get_option('siteurl') . "/wp-login.php?action=rp&key=$key\r\n";				if (FALSE == wp_mail($user_email, sprintf(__('[%s] Password Reset'), get_option('blogname')), $message)) {					die('<p>' . __('The e-mail could not be sent.') . "<br />\n" . __('Possible reason: your host may have disabled the mail() function...') . '</p>');				} else {					wp_redirect('wp-login.php?checkemail=confirm');					exit();				}			}		}	}	if ( 'invalidkey' == $_GET['error'] ) $errors['invalidkey'] = __('Sorry, that key does not appear to be valid.');	do_action('lost_password');	login_header(__('Lost Password'), '<p class="message">' . __('Please enter your username and e-mail address. You will receive a new password via e-mail.') . '</p>');?><form name="lostpasswordform" id="lostpasswordform" action="wp-login.php?action=lostpassword" method="post">	<p>		<label><?php _e('Username:') ?><br />		<input type="text" name="user_login" id="user_login" class="input" value="<?php echo attribute_escape(stripslashes($_POST['user_login'])); ?>" size="20" tabindex="10" /></label>	</p>	<p>		<label><?php _e('E-mail:') ?><br />		<input type="text" name="user_email" id="user_email" class="input" value="<?php echo attribute_escape(stripslashes($_POST['user_email'])); ?>" size="25" tabindex="20" /></label>	</p><?php do_action('lostpassword_form'); ?>	<p class="submit"><input type="submit" name="wp-submit" id="wp-submit" value="<?php _e('Get New Password »'); ?>" tabindex="100" /></p></form></div><ul><?php if (get_option('users_can_register')) : ?>	<li><a href="<?php bloginfo('wpurl'); ?>/wp-login.php"><?php _e('Login') ?></a></li>	<li><a href="<?php bloginfo('wpurl'); ?>/wp-login.php?action=register"><?php _e('Register') ?></a></li>	<li><a href="<?php bloginfo('url'); ?>/" title="<?php _e('Are you lost?') ?>"><?php printf(__('Back to %s'), get_bloginfo('title', 'display' )); ?></a></li><?php else : ?>	<li><a href="<?php bloginfo('url'); ?>/" title="<?php _e('Are you lost?') ?>"><?php printf(__('Back to %s'), get_bloginfo('title', 'display' )); ?></a></li>	<li><a href="<?php bloginfo('wpurl'); ?>/wp-login.php"><?php _e('Login') ?></a></li><?php endif; ?></ul></body></html><?phpbreak;case 'resetpass' :case 'rp' :	$key = preg_replace('/[^a-z0-9]/i', '', $_GET['key']);	if ( empty( $key ) ) {		wp_redirect('wp-login.php?action=lostpassword&error=invalidkey');		exit();	}	$user = $wpdb->get_row("SELECT * FROM $wpdb->users WHERE user_activation_key = '$key'");	if ( empty( $user ) ) {		wp_redirect('wp-login.php?action=lostpassword&error=invalidkey');		exit();	}	do_action('password_reset');	// Generate something random for a password... md5'ing current time with a rand salt	$new_pass = substr( md5( uniqid( microtime() ) ), 0, 7);	$wpdb->query("UPDATE $wpdb->users SET user_pass = MD5('$new_pass'), user_activation_key = '' WHERE user_login = '$user->user_login'");	wp_cache_delete($user->ID, 'users');	wp_cache_delete($user->user_login, 'userlogins');	$message  = sprintf(__('Username: %s'), $user->user_login) . "\r\n";	$message .= sprintf(__('Password: %s'), $new_pass) . "\r\n";	$message .= get_option('siteurl') . "/wp-login.php\r\n";	if (FALSE == wp_mail($user->user_email, sprintf(__('[%s] Your new password'), get_option('blogname')), $message)) {		die('<p>' . __('The e-mail could not be sent.') . "<br />\n" . __('Possible reason: your host may have disabled the mail() function...') . '</p>');	} else {		// send a copy of password change notification to the admin		// but check to see if it's the admin whose password we're changing, and skip this		if ($user->user_email != get_option('admin_email')) {			$message = sprintf(__('Password Lost and Changed for user: %s'), $user->user_login) . "\r\n";			wp_mail(get_option('admin_email'), sprintf(__('[%s] Password Lost/Changed'), get_option('blogname')), $message);		}		wp_redirect('wp-login.php?checkemail=newpass');		exit();	}break;case 'register' :	if ( FALSE == get_option('users_can_register') ) {		wp_redirect('wp-login.php?registration=disabled');		exit();	}	if ( $_POST ) {		require_once( ABSPATH . WPINC . '/registration.php');		$user_login = sanitize_user( $_POST['user_login'] );		$user_email = apply_filters( 'user_registration_email', $_POST['user_email'] );		// Check the username		if ( $user_login == '' )			$errors['user_login'] = __('<strong>ERROR</strong>: Please enter a username.');		elseif ( !validate_username( $user_login ) ) {			$errors['user_login'] = __('<strong>ERROR</strong>: This username is invalid.  Please enter a valid username.');			$user_login = '';		} elseif ( username_exists( $user_login ) )			$errors['user_login'] = __('<strong>ERROR</strong>: This username is already registered, please choose another one.');		// Check the e-mail address		if ($user_email == '') {			$errors['user_email'] = __('<strong>ERROR</strong>: Please type your e-mail address.');		} elseif ( !is_email( $user_email ) ) {			$errors['user_email'] = __('<strong>ERROR</strong>: The email address isn’t correct.');			$user_email = '';		} elseif ( email_exists( $user_email ) )			$errors['user_email'] = __('<strong>ERROR</strong>: This email is already registered, please choose another one.');		do_action('register_post');		$errors = apply_filters( 'registration_errors', $errors );		if ( empty( $errors ) ) {			$user_pass = substr( md5( uniqid( microtime() ) ), 0, 7);			$user_id = wp_create_user( $user_login, $user_pass, $user_email );			if ( !$user_id )				$errors['registerfail'] = sprintf(__('<strong>ERROR</strong>: Couldn’t register you... please contact the <a href="mailto:%s">webmaster</a> !'), get_option('admin_email'));			else {				wp_new_user_notification($user_id, $user_pass);				wp_redirect('wp-login.php?checkemail=registered');				exit();			}		}	}	login_header(__('Registration Form'), '<p class="message register">' . __('Register For This Site') . '</p>');?><form name="registerform" id="registerform" action="wp-login.php?action=register" method="post">	<p>		<label><?php _e('Username:') ?><br />		<input type="text" name="user_login" id="user_login" class="input" value="<?php echo attribute_escape(stripslashes($user_login)); ?>" size="20" tabindex="10" /></label>	</p>	<p>		<label><?php _e('E-mail:') ?><br />		<input type="text" name="user_email" id="user_email" class="input" value="<?php echo attribute_escape(stripslashes($user_email)); ?>" size="25" tabindex="20" /></label>	</p><?php do_action('register_form'); ?>	<p id="reg_passmail"><?php _e('A password will be e-mailed to you.') ?></p>	<p class="submit"><input type="submit" name="wp-submit" id="wp-submit" value="<?php _e('Register »'); ?>" tabindex="100" /></p></form></div><ul>	<li><a href="<?php bloginfo('wpurl'); ?>/wp-login.php"><?php _e('Login') ?></a></li>	<li><a href="<?php bloginfo('wpurl'); ?>/wp-login.php?action=lostpassword" title="<?php _e('Password Lost and Found') ?>"><?php _e('Lost your password?') ?></a></li>	<li><a href="<?php bloginfo('url'); ?>/" title="<?php _e('Are you lost?') ?>"><?php printf(__('Back to %s'), get_bloginfo('title', 'display')); ?></a></li></ul></body></html><?phpbreak;case 'login' :default:	$user_login = '';	$user_pass = '';	$using_cookie = FALSE;	if ( !isset( $_REQUEST['redirect_to'] ) || is_user_logged_in() )		$redirect_to = 'wp-admin/';	else		$redirect_to = $_REQUEST['redirect_to'];	if ( $_POST ) {		$user_login = $_POST['log'];		$user_login = sanitize_user( $user_login );		$user_pass  = $_POST['pwd'];		$rememberme = $_POST['rememberme'];	} else {		$cookie_login = wp_get_cookie_login();		if ( ! empty($cookie_login) ) {			$using_cookie = true;			$user_login = $cookie_login['login'];			$user_pass = $cookie_login['password'];		}	}	do_action_ref_array('wp_authenticate', array(&$user_login, &$user_pass));	// If cookies are disabled we can't log in even with a valid user+pass	if ( $_POST && empty($_COOKIE[TEST_COOKIE]) )		$errors['test_cookie'] = __('<strong>ERROR</strong>: WordPress requires Cookies but your browser does not support them or they are blocked.');	if ( $user_login && $user_pass && empty( $errors ) ) {		$user = new WP_User(0, $user_login);		// If the user can't edit posts, send them to their profile.		if ( !$user->has_cap('edit_posts') && ( empty( $redirect_to ) || $redirect_to == 'wp-admin/' ) )			$redirect_to = get_option('siteurl') . '/wp-admin/profile.php';		if ( wp_login($user_login, $user_pass, $using_cookie) ) {			if ( !$using_cookie )				wp_setcookie($user_login, $user_pass, false, '', '', $rememberme);			do_action('wp_login', $user_login);			wp_safe_redirect($redirect_to);			exit();		} else {			if ( $using_cookie )				$errors['expiredsession'] = __('Your session has expired.');		}	}	if ( $_POST && empty( $user_login ) )		$errors['user_login'] = __('<strong>ERROR</strong>: The username field is empty.');	if ( $_POST && empty( $user_pass ) )		$errors['user_pass'] = __('<strong>ERROR</strong>: The password field is empty.');	// Some parts of this script use the main login form to display a message	if		( TRUE == $_GET['loggedout'] )			$errors['loggedout']		= __('Successfully logged you out.');	elseif	( 'disabled' == $_GET['registration'] )	$errors['registerdiabled']	= __('User registration is currently not allowed.');	elseif	( 'confirm' == $_GET['checkemail'] )	$errors['confirm']			= __('Check your e-mail for the confirmation link.');	elseif	( 'newpass' == $_GET['checkemail'] )	$errors['newpass']			= __('Check your e-mail for your new password.');	elseif	( 'registered' == $_GET['checkemail'] )	$errors['registered']		= __('Registration complete. Please check your e-mail.');	login_header(__('Login'));?><form name="loginform" id="loginform" action="wp-login.php" method="post"><?php if ( !in_array( $_GET['checkemail'], array('confirm', 'newpass') ) ) : ?>	<p>		<label><?php _e('Username:') ?><br />		<input type="text" name="log" id="user_login" class="input" value="<?php echo attribute_escape(stripslashes($user_login)); ?>" size="20" tabindex="10" /></label>	</p>	<p>		<label><?php _e('Password:') ?><br />		<input type="password" name="pwd" id="user_pass" class="input" value="" size="20" tabindex="20" /></label>	</p><?php do_action('login_form'); ?>	<p><label><input name="rememberme" type="checkbox" id="rememberme" value="forever" tabindex="90" /> <?php _e('Remember me'); ?></label></p>	<p class="submit">		<input type="submit" name="wp-submit" id="wp-submit" value="<?php _e('Login'); ?> »" tabindex="100" />		<input type="hidden" name="redirect_to" value="<?php echo attribute_escape($redirect_to); ?>" />	</p><?php else : ?>	<p> </p><?php endif; ?></form></div><ul><?php if ( in_array( $_GET['checkemail'], array('confirm', 'newpass') ) ) : ?>	<li><a href="<?php bloginfo('url'); ?>/" title="<?php _e('Are you lost?') ?>"><?php printf(__('Back to %s'), get_bloginfo('title', 'display')); ?></a></li><?php elseif (get_option('users_can_register')) : ?>	<li><a href="<?php bloginfo('wpurl'); ?>/wp-login.php?action=register"><?php _e('Register') ?></a></li>	<li><a href="<?php bloginfo('wpurl'); ?>/wp-login.php?action=lostpassword" title="<?php _e('Password Lost and Found') ?>"><?php _e('Lost your password?') ?></a></li>	<li><a href="<?php bloginfo('url'); ?>/" title="<?php _e('Are you lost?') ?>"><?php printf(__('Back to %s'), get_bloginfo('title', 'display')); ?></a></li><?php else : ?>	<li><a href="<?php bloginfo('url'); ?>/" title="<?php _e('Are you lost?') ?>"><?php printf(__('Back to %s'), get_bloginfo('title', 'display')); ?></a></li>	<li><a href="<?php bloginfo('wpurl'); ?>/wp-login.php?action=lostpassword" title="<?php _e('Password Lost and Found') ?>"><?php _e('Lost your password?') ?></a></li><?php endif; ?></ul></body></html><?phpbreak;} // end action switch?>

I never edited this file. The version of WordPress I have is the latest one.
Edited by tricky77puzzle (see edit history)

Share this post


Link to post
Share on other sites

I can't see exactly why the error is occurring, but it is unlikely to be down to your hosting account. I'd suggest reinstalling Wordpress completely from scratch (as long as you haven't actually done too much to it) to see if that helps. If not, I'd go over to the Wordpress website and ask the developers for help - perhaps you have found a bug they need to know about. Tell them the version of PHP and MySQL being used (check in cPanel) and explain what's happening. They will most likely be able to provide more specific information.

Share this post


Link to post
Share on other sites

Okay I'll do that. Of course, I did just install it from scratch when the error came up... I'll try again.*bump* EDIT: Okay, I found a support answer on the WordPress docs page. It says: The headers sent errors are probably syntax errors in the text files.It must be something wrong with the text editor then...because it works now.

Edited by tricky77puzzle (see edit history)

Share this post


Link to post
Share on other sites

Topic is resolved.Please PM any moderator to continue this discussion. Until then, this topic is closed.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.