我認爲你必須遵循這種結構:
案例:提交表單頁面重定向後註冊/登錄頁面。
1)填寫表格和形式轉換後的數據之後提交到連載陣列。 here。
2)糊進行序列化的隱藏字段或會話(註冊/登錄頁面)陣列。
3)填寫登記表,登記後,發回以前的表單頁面和發送隱藏數據到該頁面和反序列化它們。 here
建議:如果您希望您的文章數據頁面沒有顯示,那麼你可以使用進行urlencode和urldecode功能,或者你可以使用任何其他編碼方法。
注意:要使用會話或cookie從一頁發送帖子數據到另一頁是不好的做法。它將在所有頁面上,直到您將其刪除/刪除。
重定向從控制器登錄頁面手動,使用下列內容:
$session->set('_security.user_firewall.target_path', $request->getUri());
throw new AuthenticationException(); // use Symfony\Component\Security\Core\Exception\AuthenticationException;
從註冊頁面重定向,使用下列內容:
$key = '_security.user_firewall.target_path'; #where "user_firewall" is your firewall name
//check if the referrer session key has been set
if ($this->container->get('session')->has($key))
{
//set the url based on the link they were trying to access before being authenticated
$url = $this->container->get('session')->get($key);
//remove the session key
$this->container->get('session')->remove($key);
}
// if the referrer key was never set, redirect to a default route
else{
$url = $this->generateUrl($routeName);
}
return new RedirectResponse($url);
您必須通過用戶的電子郵件ID檢查,無論是註冊用戶還是非註冊用戶。如果沒有重定向到註冊頁面,如果是重定向到登錄頁面。然後序列化發佈數據並將該數據發送到該頁面,然後再次重定向以形成頁面(如果需要),或者將該發佈數據保存在數據庫中,並在重定向到登錄頁面時顯示成功消息 – Monty
。在瀏覽器中,你會看到登錄頁面確定嗎?如果是,那麼你必須在同一頁面上採取上一頁。在隱藏字段中以序列化形式形成數據。 ?如果您在登錄後要採取措施,則必須以prev形式再次重定向它,並將隱藏(序列化)的數據發送到該頁面,並且無需聲明該數據。我認爲它很清楚。如果沒有,那麼我必須在你的機器上工作。 ;) – Monty
我已經弄明白了,謝謝你的幫助。我用編輯器編輯了答案 – Basit