Search the Community
Showing results for tags 'honeypot'.
-
We are experiencing a big problem with our forms. You can see them in action here: https://www.centura.ca/en/my-centura/sign-up Since the Retailer form is the most used for the moment (the site is in soft launch), I will discuss this one. When a retailer signs up, the callback creates a profile and a user. The form is rendered with this code: return $_form->render($form, function($form, $template) { return $this->createUser($form, $template, true); }); The callback is, of course createUser. This callback has been set in a custom render function which calls the real $form->render method. public function createUser(InputfieldForm $form, \TemplateEngine $template, bool $notify = false): \TemplateEngine { $form = $this->validateCreateUserForm($form); if(count($form->getErrors()) > 0) { return $template; } [...] $_form->setMessage(__("Your request has been sent to Centura for validation. We will contact you as soon as possible.")); wire("session")->redirect($_SERVER["REQUEST_URI"]); [...] return $template; } The callback is performed as requested for most of the users. And then, it is not fired for apparent no reason and users complain. They are reverted back to their form, already filled. They then try to send again the form to be redirected again with the form without any other indication of something going on. In the backend, nothing is performed. I was able to reproduce the problem. Using Tracy Debugger, I placed some bdb() calls in the createUser callback to realize that it is not fired at all! Then I discovered that opening a new window in furtive mode resolved the problem. I was able to send my form. All the bdb() calls were fired and the user was created as planned. I have checked for console errors, server errors, etc. Nothing. The redirecting code that was first written by the programmer was: header('Location: '.$_SERVER["REQUEST_URI"]); I decided to with the wire("session") equivalent, but to no avail. We seem to experience this problem with Chrome or Opera. But I can't be sure of that at that point. Any idea?