Cannot book when not logged in

This topic contains 9 replies, has 2 voices, and was last updated by  Stephen Harris 9 years, 1 month ago.

Viewing 10 posts - 1 through 10 (of 10 total)
  • Author
    Posts
  • #21125

    Hi. I am trying to use wp-event-organiser, but it does not seem to work for users that are not logged in:
    Test site:
    http://nettsteder.regjeringen.no/kjapptest/events/event/bookingtest/
    When sending in, the user is not taken to a confirmation page even though I have set this.
    It works if I load the same page when I am logged in.

    I am using WP 4.4.1 Multisite with
    Event Organiser Versjon 3.0.0
    Event Organiser Booking Notification Settings Versjon 1.0.0
    Event Organiser Pro Versjon 1.11.4

    Any ideas?

    Per Soderlind
    #21130

    Hi Per,

    What happens when a logged out user places a booking? Do you get a white screen? If so, do you have a caching plugin installed? Does the problem persist with it disabled?

    Stephen Harris
    #21133

    I get a white screen. We use varnish and cache plugins, they’re network activated and cannot be disabled.
    I ran another test now, and it seems that there is http/https problem.
    Visiting the same site with https and you are able to book even though you are logged out.
    https://nettsteder.regjeringen.no/kjapptest/events/event/bookingtest/

    Per Soderlind
    #21137

    Do the error logs give any indication as to what is causing the white screen?

    Stephen Harris
    #21138

    This is a HAR of the send process
    https://www.dropbox.com/s/ooqbpbvj8az8034/nettsteder.regjeringen.no.har?dl=0

    Other than that, this is registered in console:

    Object {label: “Name”, label_fname: “First Name”, label_lname: “Last Name”, lname: true, required: true…}field_name: “name”id: “name”label: “Name”label_fname: “First Name”label_lname: “Last Name”lname: truelname_required: falsename: “Name”placeholder: “”position: 0required: truetype: “name”proto: Object
    Object {label: “Email”, placeholder: “john@example.com”, type: “email”, field_name: “email”, required: true…}
    Object {use_select: false, simple_mode: 1, type: “ticketpicker”, required: 1, position: 2…}
    Object {type: “gateway”, required: 1, label: “Select a payment gateway”, position: 3, name: “Gateway picker”…}
    Object {type: “button”, required: 1, label: “Book”, position: 4, name: “Submit button”…}
    Object {field_id: “eo-booking-occurrence-id”, disabled: false, class: “”, value: “7”, id: “occurrence_id”…}
    Object {field_id: “eo-ticket-instances”, id: “ticket-instances”, type: “hidden”, name: “Hidden”}
    Object {value: 379, id: “event_id”, type: “hidden”, name: “Hidden”}
    Object {value: 379, id: “page_id”, type: “hidden”, name: “Hidden”}
    Object {field_name: “action”, value: “eventorganiser-submit-form”, id: “action”, type: “hidden”, name: “Hidden”}
    Object {field_name: “eventorganiser-form-id”, field_id: “eventorganiser-form-id-3”, value: “3”, id: “form_id”, type: “hidden”…}

    Per Soderlind
    #21151

    Have you had a chance to look at this?

    Per Soderlind
    #21152

    Hi Per,

    Yes I have. That all looks correct – I can’t see any error message. Does your apache error log have any messages which might relate to the white screen?

    Stephen Harris
    #21169

    We tried to remove the following DOM-element, which is being put into the code by Event Organiser.
    <link rel=”stylesheet” id=”eventorganiser-jquery-ui-style-css” href=”https://nettsteder.regjeringen.no/kjapptest/wp-content/plugins/event-organiser/css/eventorganiser-jquery-ui.min.css?ver=3.0.0″ type=”text/css” media=”all”>
    This made the booking go through.
    We will have to consider discontinuing this product if we cannot find a solution very soon.

    Per Soderlind
    #21170

    Our developers have also found that the problem is caused by the plugin Event Organiser Pro.

    Per Soderlind
    #21183

    Hi Per,

    I think the problem is that you’re caching http requests for the page the booking form is on. Under HTTPS here are the response headers:

    Connection:keep-alive
    Content-Encoding:gzip
    Content-Type:text/html; charset=UTF-8
    Date:Thu, 04 Feb 2016 20:16:05 GMT
    Link:<https://nettsteder.regjeringen.no/kjapptest/wp-json/>; rel="https://api.w.org/"
    Link:<https://nettsteder.regjeringen.no/kjapptest/?p=379>; rel=shortlink
    Server:nginx
    Transfer-Encoding:chunked
    Vary:Accept-Encoding
    X-Powered-By:PHP/5.4.16
    

    and under HTTP:

    Accept-Ranges:bytes
    Age:20
    Connection:keep-alive
    Content-Encoding:gzip
    Content-Length:6217
    Content-Type:text/html; charset=UTF-8
    Date:Thu, 04 Feb 2016 20:11:03 GMT
    Link:<http://nettsteder.regjeringen.no/kjapptest/?p=379>; rel=shortlink
    Link:<http://nettsteder.regjeringen.no/kjapptest/wp-json/>; rel="https://api.w.org/"
    Server:nginx
    Via:1.1 varnish
    X-Cacheable:YES
    X-Powered-By:PHP/5.4.16
    X-Req-Host:nettsteder.regjeringen.no
    X-Req-URL:/kjapptest/events/event/bookingtest/
    X-Req-URL-Base:/kjapptest/events/event/bookingtest/
    X-Varnish:1117260972 1117260903
    

    So the form is submitted, but no data is processed because instead a cached copy of the booking form is served. This tallies with what you’ve previously said because you wouldn’t (hopefully) be caching pages for logged-in users which is why it works when the user is logged-in.

    You will need to exclude event pages (or any page with a booking form) from the cache.

    Incidentally while the booking form did’t process on http when logged-out, I didn’t get a ‘white screen’. So as far as I can tell there is no server-level error.

    Stephen Harris
Viewing 10 posts - 1 through 10 (of 10 total)
To enable me to focus on Pro customers, only users who have a valid license for the Pro add-on may post new topics or replies in this forum. If you have a valid license, please log-in or register an account using the e-mail address you purchased the license with. If you don't you can purchase one here. Or there's always the WordPress repository forum.