I have the same issue as the one here: CiviEvent - Error when registering: Could not find valid value for id However the solution mentioned does not work for me. Besides on the demo site http://wpmaster.demo.civicrm.org/ no base page is set and it works. Any help is greatly appreciated.

I'm on WP 4.4.2, civi 4.7.7

The error from the log is below:

May 20 10:06:31  [info] $Fatal Error Details = Array
    [message] => Could not find valid value for id
    [code] => 

May 20 10:06:31  [info] $backTrace = #0 /nas/content/staging/theexecnet/wp-content/plugins/civicrm/civicrm/CRM/Core/Error.php(371): CRM_Core_Error::backtrace("backTrace", TRUE)

1 /nas/content/staging/theexecnet/wp-content/plugins/civicrm/civicrm/CRM/Utils/Request.php(120): CRM_Core_Error::fatal("Could not find valid value for id")

2 /nas/content/staging/theexecnet/wp-content/plugins/civicrm/civicrm/CRM/Event/StateMachine/Registration.php(52): CRM_Utils_Request::retrieve("id", "Positive", Object(CRM_Event_Controller_Registration), TRUE)

3 /nas/content/staging/theexecnet/wp-content/plugins/civicrm/civicrm/CRM/Event/Controller/Registration.php(47): CRM_Event_StateMachine_Registration->__construct(Object(CRM_Event_Controller_Registration), TRUE)

4 /nas/content/staging/theexecnet/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(307): CRM_Event_Controller_Registration->__construct("Event Registration", TRUE, "null", NULL, "false")

5 /nas/content/staging/theexecnet/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(86): CRM_Core_Invoke::runItem((Array:15))

6 /nas/content/staging/theexecnet/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(54): CRM_Core_Invoke::_invoke((Array:3))

7 /nas/content/staging/theexecnet/wp-content/plugins/civicrm/civicrm.php(1229): CRM_Core_Invoke::invoke((Array:3))

8 /nas/content/staging/theexecnet/wp-content/plugins/civicrm/includes/civicrm.basepage.php(132): CiviCRM_For_WordPress->invoke()

9 [internal function](): CiviCRM_For_WordPress_Basepage->basepage_handler(Object(WP))

10 /nas/content/staging/theexecnet/wp-includes/plugin.php(601): call_user_func_array((Array:2), (Array:1))

11 /nas/content/staging/theexecnet/wp-includes/class-wp.php(692): do_action_ref_array("wp", (Array:1))

12 /nas/content/staging/theexecnet/wp-includes/functions.php(952): WP->main("")

13 /nas/content/staging/theexecnet/wp-blog-header.php(14): wp()

14 /nas/content/staging/theexecnet/index.php(17): require("/nas/content/staging/theexecnet/wp-blog-header.php")

15 {main}

enter image description here enter image description here

  • please check civicrm log message for more detailed error - even this is not helping this can be for any reason – Ramesh - ARTECH Consultancy May 20 '16 at 10:29
  • Also i can see that you are getting a Thankyou page screen - so everything in Civi should be alright - event should have been completed - I guess – Ramesh - ARTECH Consultancy May 20 '16 at 10:33
  • I've added the log message in the question. Yes, event registration is completed (same as the other bug), but how do I get rid of this error screen. – Stoycho May 20 '16 at 10:47
  • did you manage test contribution page - is it working ? – Ramesh - ARTECH Consultancy May 20 '16 at 10:55
  • yes contributions are working – Stoycho May 20 '16 at 12:05

use the civicrm events register link after /civicrm/ not after root.

| improve this answer | |

The error message indicates that the id parameter (the event ID) is not being found in the URL or the form object that gets carried from step to step through the event registration process. Obviously the event ID is set at one point: the correct event is showing up. However, it's failing later.

WPEngine has very aggressive caching. I haven't tried using CiviCRM there in years, but it used to have serious problems with things like this. Certain aspects of a page would be cached so that certain URL parameters would never have any effect. Basically, WPEngine knows how to cache in ways that retain distinctions between WordPress pages, but it might not know all of the CiviCRM URL parameters to pay attention to.

Absent any other glaring issue with your setup (though you really should set a base page), you might try the site on a more traditional server environment.

| improve this answer | |
  • not in this case, WPEngine does not cache on staging. On Live if you /civicrm/ as a base page and exclude it from caching - /civicrm/* - it should be fine. It is CiviCRM that has to display some message about this in the admin area - i.e. to use /civicrm/ as a base page – Stoycho May 23 '16 at 17:07
  • I agree about the lack of warning: originally there was no support for alternate base pages--I built the feature for a client of ours soon after CiviCRM started supporting WordPress. Starting in 4.6, all of a sudden CiviCRM started presuming that everyone has a base page since it started creating one for everyone on install. Sites upgrading to 4.6 never got any notice that they should set one up, though. – Andrew Hunt May 23 '16 at 19:07
  • I hope this helps someone else - I installed and upgraded to Civi 4.7, w/WP frontend. Events are listed on a Calendar plugin. After loading and converting the database, I got this error. Event though I had defined a civicrm base page, I noticed on the browser tab that that page wasn't what was displayed. I had to re-enter the links to Events in the shortcode for the WP calendar. Otherwise, using the links from the Calendar would result in "Could not find valid value for id" – Lesley Evensen Aug 10 '17 at 0:28
  • And just for anyone who gets into technical details, the error comes after the call to controller->reset - the event ID is no longer stored in the session, and the next time the controller in Events is instantiated that is the error that comes from Request:retrieve($name, $type, $store) – Lesley Evensen Aug 10 '17 at 0:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.