Регистрация

Добрый день, друзья.
Никак не получается добиться регистрации пользователей. Вроде делаю всё по пунктам из мануалов, но форма никуда не «улетает» и ничего не происходит. Расскажите, пожалуйста как реализовать.

Форма:
[[!Register
    &submitVar=`login-register-btn`
    &activationResourceId=`12`
    &activationEmailTpl=`lgnActivateEmailTpl`
    &activationEmailSubject=`Thanks for Registering!`
    &submittedResourceId=`45`
    &usergroups=`Members`
    &validate=`nospam:blank, username:required:minLength=^6^,
    password:required:minLength=^6^,
    password_confirm:password_confirm=^password^,
    fullname:required, email:required:email`
    &placeholderPrefix=``
    &successMsg=`Спасибо за регистрацию!`
]]

<div class="row">
<div class="col-lg-6 col-lg-offset-3">
<div class="well">
    <legend>Регистрация на сайте</legend>
    
<fieldset>
    <div class="registerMessage">
        [[+error.message]]
    </div>

    <form class="form" action="[[~[[*id]]]]" method="post">
        <input type="hidden" name="nospam" value="[[!+reg.nospam]]" />
        
        <div class="form-group">
            <div class="">
                <label for="username" class="control-label">
                [[%register.username? &namespace=`login` &topic=`register`]]
                <span class="error">[[!+error.username]]</span>
                </label>
                <input class="form-control" type="text" name="username:required:minLength=6" id="username" value="[[!+username]]" />
            </div>
        </div>
        
        <div class="form-group">
            <div class="">
                <label for="password" class="control-label">
                [[%register.password]]
                <span class="error">[[!+error.password]]</span>
                </label>
                <input class="form-control" type="password" name="password:required:minLength=6" id="password" value="[[!+password]]" />
            </div>
        </div>
        
        <div class="form-group">
            <div class="">
                <label for="password_confirm" class="control-label">[[!%register.password_confirm]]
                <span class="error">[[!+error.password_confirm]]</span>
                </label>
                <input class="form-control" type="password" name="password_confirm:password_confirm=`password`" id="password_confirm" value="[[!+password_confirm]]" />
            </div>
        </div>
        
        <div class="form-group">
            <div class="">
                <label for="fullname" class="control-label">[[!%register.fullname]]
                <span class="error">[[!+error.fullname]]</span>
                </label>
                <input class="form-control" type="text" name="fullname:required" id="fullname" value="[[!+fullname]]" />
            </div>
        </div>
        
        <div class="form-group">
            <div class="">
                <label for="email" class="control-label">[[%register.email]]
                <span class="error">[[!+error.email]]</span>
                </label>
                <input class="form-control" type="text" name="email:email" id="email" value="[[!+email]]" />
            </div>
        </div>
    </form>
</fieldset>
    
        <br class="clear" />
    [[!+register.recaptcha_html]]
    [[!+error.recaptcha]]

<div class="form-buttons">
<input type="submit" class="btn btn-primary" name="login-register-btn" value="Регистрация/авторизация" />
</div>
</div>
</div>
</div>
Стас
30 января 2015, 14:35
modx.pro
1
1 709
0

Комментарии: 12

Максим Кузнецов
31 января 2015, 14:37
0
1) ваш пост не в том разделе

2) что-нибудь пишется в логах?

3) возможно, проблема с хостингом, в частности, с функцией mail() или sendmail()

4) страница обновляется после отправки?

5) все Name в input'aх должны хранить просто название поле отправки, без required:minLength=6 этого остатка.
    Василий Наумкин
    31 января 2015, 15:10
    +1
    Изначально был в том разделе. Видимо, человек решил привлечь больше внимания.

    Перенёс обратно.
      Стас
      31 января 2015, 17:44
      0
      Изначально был в том разделе. Видимо, человек решил привлечь больше внимания.
      Прошу прощения за содеянное. В последний момент «нелёгкая» дёрнула меня произвести сие действие в силу формулировки раздела (никаких корыстных умыслов не преследовал).

      2) что-нибудь пишется в логах?
      3) возможно, проблема с хостингом, в частности, с функцией mail() или sendmail()
      4) страница обновляется после отправки?
      5) все Name в input'aх должны хранить просто название поле отправки, без required:minLength=6 этого остатка.
      Спасибо за совет. Буду пробовать.
    Стас
    31 января 2015, 20:17
    0
    2) что-нибудь пишется в логах?
    3) возможно, проблема с хостингом, в частности, с функцией mail() или sendmail()
    4) страница обновляется после отправки?
    5) все Name в input'aх должны хранить просто название поле отправки, без required:minLength=6 этого остатка.
    2) Что именно нужно смотреть в логах, тем более, что п.4?
    3) Mail() или sendmail() работают, так как новые пользователи, заведённые из manager'а, получают уведомления и т.д.
    4) Нет (!) ничего не происходит, в том числе обновления и переадресации на другую страницу
    5) Убрал. Картина та же.
      Николай Загумённов
      31 января 2015, 21:15
      0
      Может в js проблема, если обновления страницы не происходит
        Максим Кузнецов
        31 января 2015, 21:27
        +1
        здесь нет js, если это register — там просто идет post-отправка.

        [[!Register
        — после него должен быть знак вопроса.

        Вот так:

        [[!Register?
        	...
        ]]
        Исправьте, должно заработать.
          Николай Загумённов
          31 января 2015, 21:36
          0
          Думал, если инпут вообще не реагирует на клик, а вдруг =)
            Стас
            31 января 2015, 21:50
            0
            Вот так:

            [[!Register?

            ]]Исправьте, должно заработать.

            Не получается, к сожалению.
              Максим Кузнецов
              31 января 2015, 22:00
              0
              Ммм… давайте я вам для примера приведу свою регистрацию на этом же сниппете со схожими полями и проверкой рекаптчей — если не будет работать, то проблема со стороны хостинга/чего-то еще, вряд ли зависящего от вас.

              Вызов в шаблоне:
              [[!Register?
              	&preHooks=`recaptcha`
              	&submitVar=`register-btn`
              	&activationResourceId=`айди_страницы_активации`
              	&activationEmailTpl=`Email.Activation`
              	&activationEmailSubject=`Регистрация на сайте (название сайта)`
              	&placeholderPrefix=`reg.`
              	&successMsg=`<div class="alert alert-success">Спасибо за регистрацию. На вашу электронную почту <b>[[!+reg.email]]</b> отправлено письмо со ссылкой на активацию аккаунта. Пройдите по этой ссылке, чтобы завершить регистрацию. </div>`
              	&usergroupsField=`reg_type`
              	&customValidators=`validat`
              	&validate=`nospam:blank,
              	reg_type:valueIn=^Users^,
              		username:required:minLength=^2^:maxLength=^16^,
              		password:required:minLength=^6^:maxLength=^16^,
              		password_confirm:password_confirm=^password^,
              		email:required:email`
              ]]
              
              [[!+error.message:default=`[[$register.Form]]`]]`]]

              Чанк с формой регистрации register.Form:
              <form action="[[~[[*id]]]]" method="POST" class="authFullForm" id="iWannaRegister">
              	<div>
              		<input name="username" value="[[!+reg.username]]" class="roundInput" type="text" placeholder="Никнейм">
              		[[!+reg.error.username:notempty=`
              		<div class="alert alert-danger">[[!+reg.error.username]]</div>
              		`:empty=`
              		<span>- буквы и цифры, от 2 до 16 символов.</span>
              		`]]
              	</div>
              	<div>
              		<input name="email" value="[[!+reg.email]]" class="roundInput" type="text" placeholder="E-Mail">
              		[[!+reg.error.email:notempty=`
              		<div class="alert alert-danger">[[!+reg.error.email]]</div>
              		`:empty=`
              		<span>- необходим для авторизации. Никакого спама не рассылаем. Честно!</span>
              		`]]
              	</div>
              	<div>
              		<input name="password" class="roundInput" type="password" placeholder="Введите пароль">
              		[[!+reg.error.password:notempty=`
              		<div class="alert alert-danger">[[!+reg.error.password]]</div>
              		`:empty=`
              		<span>- от 6 до 16 символов.</span>
              		`]]
              	</div>
              	<div>
              		<input name="password_confirm" class="roundInput" type="password" placeholder="Повторите пароль">
              		[[!+reg.error.password_confirm:notempty=`
              		<div class="alert alert-danger">[[!+reg.error.password_confirm]]</div>
              		`:empty=``]]
              	</div>
              	<div>
              		[[!+reg.recaptcha_html]]
              		[[!+reg.error.recaptcha]]
              	</div>
              	<div>
              		<input type="hidden" name="nospam" value="[[!+reg.nospam]]">
              		<input type="hidden" name="reg_type" value="Users">
              		<input class="defaultButton-G" name="register-btn" type="submit" value="Зарегистрироваться">
              	</div>
              </form>
                Стас
                31 января 2015, 23:11
                0
                Отлично! Что-то произошло, но уже что-то: пользователь появился, письмо пришло… Осталось под себя «допилить». В общем сейчас буду искать чего у меня было не так.
                Спасибо, Максим!
                  Илья Уткин
                  31 января 2015, 23:31
                  +4
                  У вас submit находится ВНЕ формы
        Стас
        01 февраля 2015, 20:06
        0
        Спасибо! Всё работает. Осталось доделать страницу активации.
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          12