I think I'm missing something in the Joomla login behaviour. I read a lot of post but can't find the answer of what I looking for. Let's say you have login page (ie: yoursite.com/login), if you login, Joomla correctly brings you to the target page you choose. The problem is : if you then go back to the login page yoursite.com/login, the redirect doesn't work no more. In fact if you refresh the page the login fields vanish and all it remains is the logout button.
I tried
$user = JFactory::getUser();
if($user->id == 1)
{
// redirect here
}
I tried in Joomla 2.5 and 3.x, the behaviour is the same. Am I missing something?
Because it's not the same layout.
If the user is guest, you are looking at the "default_login.php" layout, which - I gather - is the one you already modified. But if the user is logged, you are looking at the "default_logout.php" layout, which you need to override as well.
Before you redirect to home page or any other page you must called getApplication like this.
$mainframe = JFactory::getApplication();
$user = JFactory::getUser();
if($user->id == 1)
{
// redirect here
$mainframe->redirect('index.php');
}else{
// redirect to login page
$mainframe->redirect('login');
}