Как разместить регистрационные и регистрационные формы CodeIgniter / TankAuth на одной странице? - PullRequest
0 голосов
/ 11 февраля 2012

Я использую CodeIgniter для своей платформы php и TankAuth для моей авторизации / регистрации. По умолчанию TankAuth размещает формы регистрации и входа на отдельных страницах. Я хотел бы разместить форму входа в систему на панели навигации, которая появляется на каждой странице. Существует также страница регистрации, на которой будет отображаться форма регистрации одновременно с формой входа (расположена на панели навигации).

В настоящее время я использую это в controllers / signup.php .index () ...

            $this -> load -> view('templates/header');
            $this -> login();
            $this -> register();
            $this -> load -> view('templates/footer');

Это отображается правильно, но у меня есть две проблемы:

1 Придется ли мне переопределять методы TankAuth в каждом контроллере, который будет иметь форму входа?

2 Когда я пытаюсь зарегистрироваться, он говорит мне, что форма входа также должна быть заполнена. Это очевидно уловка-22.

(Я прошу прощения, если это слишком специфично для домена или расплывчато; я надеюсь, что это имеет смысл для тех, кто работал со структурой.)

Ответы [ 2 ]

1 голос
/ 15 ноября 2012

Я не уверен, что это все еще проблема, но если вы действительно хотите это сделать, вы можете включить одно представление в другое как IFRAME без каких-либо проблем.

1 голос
/ 11 февраля 2012

Я не уверен, чего вы пытаетесь достичь, просто объединяя входы в систему и регистрацию, они не были предназначены для совместной работы, поэтому вам определенно нужно внести некоторые изменения в базу бак auth структура.

Это действительно не должно вызывать недоразумений, поскольку это просто проблема, которую вы создали для себя, комбинируя две очень похожие формы.

Чтобы просто пройти через это (и я не знаю, какой код изменяется, если вы его сделали), сначала вы должны создать свой собственный логин (html), установить форму action="/auth/login".

Имя для входа будет отправлено, ЕСЛИ все ясно, что пользователь вошел в систему, и вы справитесь с этим, ОДНАКО если ему не удастся войти в систему, они будут доставлены в одностраничный логин (по умолчанию / или измененный), где они могут повторить попытку.

То же самое должно следовать для регистрации, установить форму action="/auth/register" и позволить ей отправлять против tank auth controller. Опять же, если регистрация прошла успешно, их просто перевезут куда угодно, иначе они попадут на одну страницу регистрации.

Используйте исходные логин и регистрацию просмотров в качестве начала того, что вам нужно изменить / обновить.

Tank Auth - это действительно плагин, который нужно изменить в соответствии со своими потребностями, его код чистый и понятный, поэтому просто пройдите его, чтобы понять, что происходит при входе в систему, что происходит при регистрации , активация и т. д., в противном случае смешивание вещей никуда вас не приведет. Исходя из моего личного опыта работы с библиотекой, я ВСЕГДА изменял ее после первоначальной настройки, просто потому, что это легко сделать.

...