My app contains a number of services which the user (either logged-in and logged-out) can browse through in a repeating group after inputting their search criteria.
To book/pay any for of these services, (by selecting a button in the repeat group row), my app requires the user to to be logged-in (with the option of logging in via Facebook).
However, when the user is prompted to login before going any further - and they choose to login via Facebook - the page completely refreshes itself and the repeating group/search inputs reset - losing all the results the user has searched for.
Does anyone know how I can prevent this from happening? It works fine if the user signs up by standard e-mail.
I have thought about moving the login/signup and account workflows to the header, but wondering if that will just do the same thing?
Just to add to the above, in case I wasn’t clear…
I was trying to get the user to login, book and pay, all from the repeating group row on the same page… but thinking now, I should most probably send that booking information to a Confirm-Booking-type page, when the “Book Now” button is clicked (which the user is required to be logged-in to access)… and they can confirm and make a payment there.
Hopefully, logging via Facebook in between, won’t cause a loss like has been happening.
From my experience using the Facebook Signin button refreshes the page after pressing it. That’s why all the data is reset.
In my app I have them signin before entering information to prevent this.
It would be great if your approach “holds” the data by sending it to the page.
The other approach I would think about is to make a temporary table and it assign the current user id and the data that you want to store. Eventhough they are not loggedin visitors still have a current user id assigned. If they signin with facebook you connect the current user data in the temporary table to the facebook account via the workflow and retrieve your temporary data. I haven’t actually done this though so it’s just the way I would approach the problem - there are most likely challenges to figuring it out.
Thank you for the info. I was toying with the idea in my head, of storing data via the current user until they login using Facebook, but yes, I can imagine the challenges ahead, which is why I thought I would take a different approach, lol.
I think I will plan to send the user’s selected data to a confirmation-type page (which the user will be required to login to access) and hopefully it won’t disrupt the user navigating to that page after logging in via Facebook? Then once they are on that page, they can enter their information and make payment. Hopefully anyway.
Logging in via Facebook when navigating to the “confirm-booking” page did disrupt the navigation by refreshing, leaving the user on the first page and losing all their search result data from the repeating group.
So, what I’ve done is…
I’ve allowed the user (either logged-out or logged-in) to access the confirm-booking page - which contains all the current cells / current page’s details from the repeating group.
Then when the page is loaded and the user isn’t logged-in > show login/signup popup > which the user can then login via Facebook to continue. When the user does choose Facebook to login, the page does refresh - but they are already on that page and all the relevant data from the repeating group on the previous page is there, allowing them to continue with their booking.
I know the popup can easily be bypassed or prevented from showing, but I will just set conditions on elements and inputs that will disable / force user to login to continue.
I think that’s a good solution as I also put the signin onto elements to prevent them from losing their data on the Facebook signin re-fresh. I also like that it gives you the opportunity to get more customer information on signin and create an account for them that you can use to track.