Автоматический ВХОД в систему сразу после РЕГИСТРАЦИИ
проблемка
А как сделать так, чтобы после регистрации, раз уж всё хорошо, чтобы человек автоматически заходил под своим логином и паролем, а не заново нажимал кнопку войти и т.д....
У меня просто так около 50 пользователей ушло, думая о том, что сделали что-то не так...
Хелп составлен, но многие его читают? да никто почти...
И надеяться но то, что все пользователи грамотные в плане работы с интернетом тоже не стоит… с каждым днем количество пользователей в инете растет, а за счет кого? за счет того, кто еще мало разбирается в инете...
Хотелось бы взять правило "Чем меньше думают пользователи, тем лучше" за основу. Тогда будет успех.
Так как сделать описанное выше?
Открываем файл /components/registration/frontend.php и находим следующие строки, начиная примерно с 261 строки
$inPage->includeTemplateFile('special/regcomplete.php'); if ($cfg['send_greetmsg']){ $model->sendGreetsMessage($new_user_id, $cfg['greetmsg']); } $inCore->halt();
//$inPage->includeTemplateFile('special/regcomplete.php'); if ($cfg['send_greetmsg']){ $model->sendGreetsMessage($new_user_id, $cfg['greetmsg']); } //начало хака для автоматической авторизации после регистрации $sql = "SELECT * FROM cms_users WHERE id='{$new_user_id}' "; $aut_result = $inDB->query($sql); if($inDB->num_rows($aut_result)==1) { $current_ip = $_SERVER['REMOTE_ADDR']; $user = $inDB->fetch_assoc($aut_result); $_SESSION['user'] = cmsUser::createUser($user); cmsCore::callEvent('USER_LOGIN', $_SESSION['user']); $inUser->dropStatTimer(); $inDB->query("UPDATE cms_users SET logdate = NOW(), last_ip = '$current_ip', is_logged_once = 1 WHERE id = ".$user['id']) ; switch($cfg['first_auth_redirect']){ case 'none': $url = cmsUser::getProfileURL($user['login']); break; case 'index': $url = '/'; break; case 'profile': $url = cmsUser::getProfileURL($user['login']); break; case 'editprofile': $url = '/users/'.$user['id'].'/editprofile.html'; break; } //редирект $inCore->redirect($url); } else { $inCore->redirect('/auth/error.html'); } //конец хака для автоматической авторизации после регистрации // $inCore->halt();
Марат, СПАСИБО!!!
работает. глюков не обнаружено вроде) Спасибо еще раз))отпишитесь о результате
-------------
Заменил в сточке case 'editprofile': $url = '/users/'.$user['id'].'/editprofile.html'; break;
на case 'editprofile': $url = '/users/'.$user['id']; break;
Теперь всё замечательно заработало! спасибо!