Skip to:
Content
Pages
Categories
Search
Top
Bottom

User registration fails when multiple options selected in BuddyPress 3.0.0

  • @rhwentworth

    Participant

    In BuddyPress 3.0.0, there is a bug insofar as if a registration form is submitted and a multi-select or checkbox is involved, and multiple options are present, the registration fails with a run-time error as follows:

    Warning: trim() expects parameter 1 to be string, array given in /home8/fromchao/public_html/buddypress/wp-content/plugins/buddypress/bp-members/screens/register.php on line 93

    In my local copy, I patched line 92 to add a check to see if an what was returned is an array, and this eliminated the error for me. Might even be the right fix, as the individual returns in an array shouldn’t need trimming.

    if ( isset( $_POST[ ‘field_’ . $field_id ] ) and !is_array( $_POST[ ‘field_’ . $field_id ] ) ) { // FIXED!!
    $_POST[ ‘field_’ . $field_id ] = trim( $_POST[ ‘field_’ . $field_id ] );
    }

    This problem occurred on a dev test site running WordPress 4.9.6. But, the problem and its cause seem pretty obvious, and not a function of WordPress itself. Just needs to be fixed in the official distribution.

Viewing 6 replies - 1 through 6 (of 6 total)
  • @venutius

    Moderator

    You should raise this on BuddyPrss Trac as a bug.

    @djpaul

    Keymaster

    Thanks for the details. Keep an eye on https://buddypress.trac.wordpress.org/ticket/7845#ticket

    @filehippofree

    Participant

    I honestly don’t know of another plugin that does this. I took a look at that version today and it’s not only WordPress 3.0 that it needs to be updated for but some BuddyPress stuff as well.

    Anyone know of a solution to help out Max with this? I’d think this is something others would appreciate as well.
    filehippo

    Thanks!

    @vapvarun

    Participant

    Hi @filehippofree,

    As a Quick fix, You can replace line 91 at following path
    buddypress/bp-members/screens/register.php

    if ( isset( $_POST[ 'field_' . $field_id ] ) ) {
    						$_POST[ 'field_' . $field_id ] = trim( $_POST[ 'field_' . $field_id ] );
    					}

    with

    if ( isset( $_POST[ 'field_' . $field_id ] ) && !is_array( $_POST[ 'field_' . $field_id ] )) {
    						$_POST[ 'field_' . $field_id ] = trim( $_POST[ 'field_' . $field_id ] );
    					}

    @pandraka

    Participant

    Is there a date for a fix to BuddyPress for this issues?

    @venutius

    Moderator

    The Trac ticket will tell you the latest state of play

Viewing 6 replies - 1 through 6 (of 6 total)
  • The topic ‘User registration fails when multiple options selected in BuddyPress 3.0.0’ is closed to new replies.
Skip to toolbar