X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> В каких файлах убрать код обязательного заполнения формы регистрации.
павелЯ
павелЯ
Topic Starter сообщение 23.4.2018, 16:56; Ответить: павелЯ
Сообщение #1


Добрый день. Проблема в том, что на самописном сайте в форме регистрации не обходимо убрать обязательные поля.
Убрали в нужных полях  в коде атрибуты * и request   но все равно при заполнении требует заполнять все поля. Сайт http://retrolot.ru/account/register
Прошу подсказать в данной проблеме.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ShowPrint
ShowPrint
сообщение 23.4.2018, 22:25; Ответить: ShowPrint
Сообщение #2


(павелЯ @ 23.4.2018, 19:56) *
Прошу подсказать в данной проблеме
Куда бы посмотрел я в первую очередь:
  • Правильность заполнения (в том числе обязательных полей) выполняется ajax-скриптом, возможно в нём идёт проверка и "обязательности" вне зависимости от наличия убранных атрибутов.

  • Исправил бы ошибки имеющиеся на странице:

Found 2 elements with non-unique id #email: ...
Found 2 elements with non-unique id #password: ...

* их выдают "инструменты для веб-мастеров" хрома (думаю что вылезут и в лисе)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
павелЯ
павелЯ
Topic Starter сообщение 23.4.2018, 23:24; Ответить: павелЯ
Сообщение #3


В этом файле?




<?php
/*
* @LitePanel
* @Version: 1.0.1
* @Date: 29.12.2012
* @Developed by QuickDevel
*/
?>
<?php echo $header ?>
<div style="background:#fff;padding:10px;border-radius:10px;">
<h2>Регистрация</h2>
<form class="form-horizontal" action="#" id="registerForm" method="POST">
<fieldset>
<div id="legend">
<legend>Общая информация</legend>
</div>
<div class="control-group">
<label class="control-label" for="login">Логин*</label>
<div class="controls">
<input type="text" id="login" name="login" placeholder="login" class="input-xlarge">
</div>
</div>
<div class="control-group">
<!-- Имя -->
<label class="control-label" for="firstname">Имя</label>
<div class="controls">
<input type="text" id="firstname" name="firstname" placeholder="Иван" class="input-xlarge">
</div>
</div>
<div class="control-group">
<!-- Отчество -->
<label class="control-label" for="surname">Отчество</label>
<div class="controls">
<input type="text" id="surname" name="surname" placeholder="Иванович" class="input-xlarge">
</div>
</div>
<div class="control-group">
<!-- Фамилия -->
<label class="control-label" for="lastname">Фамилия</label>
<div class="controls">
<input type="text" id="lastname" name="lastname" placeholder="Иванов" class="input-xlarge">
</div>
</div>
<div class="control-group">
<!-- Статус -->
<label class="control-label" for="sex">Пол</label>
<div class="controls">
<select id="sex" name="sex" class="input-large">
<option value="0" >Мужской</option>
<option value="1" >Женский</option>
</select>
</div>
</div>
<div id="legend">
<legend>Контактная информация</legend>
</div>
<div class="control-group">
<!-- E-Mail -->
<label class="control-label" for="email">E-Mail*</label>
<div class="controls">
<input type="text" id="email" name="email" placeholder="username@email.com" class="input-xlarge">
</div>
</div>
<div class="control-group">
<!-- E-Mail -->
<label class="control-label" for="tel1">Телефон 1*</label>
<div class="controls">
<input type="text" id="tel1" name="tel1" placeholder="+79000000000" class="input-xlarge">
</div>
</div>
<div class="control-group">
<!-- E-Mail -->
<label class="control-label" for="tel2">Телефон 2</label>
<div class="controls">
<input type="text" id="tel2" name="tel2" placeholder="+79000000001" class="input-xlarge">
</div>
</div>
<div id="legend">
<legend>Пароль</legend>
</div>
<div class="control-group">
<!-- Пароль -->
<label class="control-label" for="password">Пароль*</label>
<div class="controls">
<input type="password" id="password" name="password" class="input-xlarge">
</div>
</div>
<div class="control-group">
<!-- Повтор пароля -->
<label class="control-label" for="password2">Повторите пароль</label>
<div class="controls">
<input type="password" id="password2" name="password2" class="input-xlarge">
</div>
</div>
<div id="legend">
<legend>Почтовый адрес</legend>
</div>
<div class="control-group">
<!-- E-Mail -->
<label class="control-label" for="index">Индекс</label>
<div class="controls">
<input type="text" id="index" name="index" placeholder="" class="input-xlarge">
</div>
</div>
<div class="control-group">
<!-- E-Mail -->
<label class="control-label" for="city">Населенный пункт(выбрать из списка)</label>
<div class="controls">
<input type="text" id="city" name="city" placeholder="" class="input-xlarge">
</div>
</div>
<div class="control-group">
<!-- E-Mail -->
<label class="control-label" for="city">Улица</label>
<div class="controls">
<input type="text" id="street" name="street" placeholder="" class="input-xlarge">
</div>
</div>
<div class="control-group">
<!-- E-Mail -->
<label class="control-label" for="number">Дом</label>
<div class="controls">
<input type="text" id="number" name="number" placeholder="" class="input-xlarge">
</div>
</div>
<div class="control-group">
<!-- E-Mail -->
<label class="control-label" for="flat">Квартира</label>
<div class="controls">
<input type="text" id="flat" name="flat" placeholder="" class="input-xlarge">
</div>
</div>
<div id="legend" style="display:none">
<legend>Получение лота</legend>
</div>
<div class="control-group" style="display:none">
<!-- Статус -->
<label class="control-label" for="delivery">Способы получения лота</label>
<div class="controls">
<select id="delivery" name="delivery" class="input-large">
<option value="0" >1 способ</option>
<option value="1" >2 способ</option>
<option value="2" >3 способ</option>
</select>
</div>
</div>
<div id="legend">
<legend>Проверка</legend>
</div>
<div class="control-group">
<!-- Введите символы с картинки -->
<label class="control-label" for="captcha">Проверочный код</label>
<div class="controls">
<input type="text" id="captcha" name="captcha" class="input-small">
<span class="help-inline"><img id="captchaimage" src="/main/captcha" onClick="reloadImage('#captchaimage')" title="Проверочный код"></span>
</div>
</div>
<div class="control-group">
<!-- Кнопка -->
<div class="controls">
<button type="submit" class="btn btn-success"><i class="icon-ok"></i> Зарегистрироваться</button>
</div>
</div>
</fieldset>
</form><script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAlHk6nO_O-9LlZopXrrz7Wru-_nBEqMoM&libraries=places"></script>

<script>
var autocomplete = new google.maps.places.Autocomplete(document.getElementById('city'), {
language: 'ru',
componentRestrictions: {country: 'ru'}
});
$('#registerForm').ajaxForm({
url: '/account/register/ajax',
dataType: 'json',
success: function(data) {
switch(data.status) {
case 'error':
showError(data.error);
reloadImage('#captchaimage');
$('button[type=submit]').prop('disabled', false);
break;
case 'success':
showSuccess(data.success);
setTimeout("redirect('/')", 1500);
break;
}
},
beforeSubmit: function(arr, $form, options) {
$('button[type=submit]').prop('disabled', true);
}
});

</script>
</div>
<?php echo $footer ?>

<?php
/*
* @LitePanel
* @Version: 1.0.1
* @Date: 29.12.2012
* @Developed by QuickDevel
*/
class registerController extends Controller {
public function index() {
$this->document->setActiveSection('account');
$this->document->setActiveItem('register');

if($this->user->isLogged()) {
$this->session->data['error'] = "Вы уже авторизированы!";
$this->response->redirect($this->config->url);
}

$this->getChild(array('common/header', 'common/footer'));
return $this->load->view('account/register', $this->data);
}

public function ajax() {
if($this->user->isLogged()) {
$this->data['status'] = "error";
$this->data['error'] = "Вы уже авторизированы!";
return json_encode($this->data);
}

$this->load->library('mail');
$this->load->model('users');

if($this->request->server['REQUEST_METHOD'] == 'POST') {
$errorPOST = $this->validatePOST();
if(!$errorPOST) {
$lastname = @$this->request->post['lastname'];
$firstname = @$this->request->post['firstname'];
$surname = @$this->request->post['surname'];
$email = @$this->request->post['email'];
$password = @$this->request->post['password'];
$login = @$this->request->post['login'];
$sex = @$this->request->post['sex'];
$tel1 = @$this->request->post['tel1'];
$tel2 = @$this->request->post['tel2'];
$delivery = @$this->request->post['delivery'];
$city = @$this->request->post['city'];
$house = @$this->request->post['number'];
$flat = @$this->request->post['flat'];
$street = @$this->request->post['street'];
$index = @$this->request->post['index'];
$userData = array(
'user_email' => $email,
'user_password' => md5($password),
'user_firstname' => $firstname,
'user_lastname' => $lastname,
'user_surname' => $surname,
'user_sex' => $sex,
'user_tel1' => $tel1,
'user_tel2' => $tel2,
'user_delivery' => $delivery,
'user_city' => $city,
'user_house' => $house,
'user_flat' => $flat,
'user_index' => $index,
'user_street' => $street,
'user_status' => 1,
'user_balance' => 0,
'user_access_level' => 0,
'user_login' => $login
);

$this->usersModel->createUser($userData);

$mailLib = new mailLibrary();

$mailLib->setFrom($this->config->mail_from);
$mailLib->setSender($this->config->mail_sender);
$mailLib->setTo($email);
$mailLib->setSubject('Регистрация аккаунта');

$mailData = array();

$mailData['firstname'] = $firstname;
$mailData['lastname'] = $lastname;
$mailData['email'] = $email;
$mailData['password'] = $password;

$text = $this->load->view('mail/account/register', $mailData);

$mailLib->setText($text);
$mailLib->send();

$this->data['status'] = "success";
$this->data['success'] = "Вы успешно зарегистрировались!";
} else {
$this->data['status'] = "error";
$this->data['error'] = $errorPOST;
}
}

return json_encode($this->data);
}

private function validatePOST() {
$this->load->library('validate');

$validateLib = new validateLibrary();

$result = null;

$lastname = @$this->request->post['lastname'];
$firstname = @$this->request->post['firstname'];
$surname = @$this->request->post['surname'];
$email = @$this->request->post['email'];
$password = @$this->request->post['password'];
$login = @$this->request->post['login'];
$tel1 = @$this->request->post['tel1'];
$password2 = @$this->request->post['password2'];
$captcha = @$this->request->post['captcha'];
$city = @$this->request->post['city'];
$house = @$this->request->post['number'];
$captchahash = @$this->session->data['captcha'];
$index = @$this->request->post['index'];
unset($this->session->data['captcha']);

if(!$validateLib->lastname($lastname)) {
$result = "Укажите свою реальную фамилию!";
}
elseif(!$validateLib->firstname($firstname)) {
$result = "Укажите свое реальное имя!";
}
elseif(!$validateLib->firstname($surname)) {
$result = "Укажите свое реальное отчество!";
}
elseif(!$validateLib->login($login)) {
$result = "Укажите свой логин! Допустимые символы A-Z/a-z/0-9";
}
elseif(!$validateLib->email($email)) {
$result = "Укажите свой реальный E-Mail!";
}
elseif(!$validateLib->tel1($tel1)) {
$result = "Укажите свой телефон!";
}
elseif($house=="") {
$result = "Укажите дом!";
}
elseif(!$validateLib->index($index)) {
$result = "Укажите индекс!";
}
elseif($city=="") {
$result = "Укажите населенный пункт и улицу!";
}
elseif(!$validateLib->password($password)) {
$result = "Пароль должен содержать от 6 до 32 латинских букв, цифр и знаков <i>,.!?_-</i>!";
}
elseif($password != $password2) {
$result = "Введенные вами пароли не совпадают!";
}
elseif($captcha != $captchahash) {
$result = "Укажите правильный код с картинки!";
}
elseif($this->usersModel->getTotalUsers(array('user_email' => $email))) {
$result = "Указанный E-Mail уже зарегистрирован!";
}
elseif($this->usersModel->getTotalUsers(array('user_login' => $login))) {
$result = "Указанный логин уже зарегистрирован!";
}
return $result;
}
}
?>


Все в этих менял и бестолку.


Сообщение отредактировал BLIK - 24.4.2018, 0:47
Причина редактирования: подправил вставку кода
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
kretovdima
kretovdima
сообщение 24.4.2018, 0:26; Ответить: kretovdima
Сообщение #4


Так вот же скрипт, который осуществляет проверку и выдает ошибки, попробуйте его закомментировать.

if(!$validateLib->lastname($lastname)) {
$result = "Укажите свою реальную фамилию!";
}
elseif(!$validateLib->firstname($firstname)) {
$result = "Укажите свое реальное имя!";
}
elseif(!$validateLib->firstname($surname)) {
$result = "Укажите свое реальное отчество!";
}
elseif(!$validateLib->login($login)) {
$result = "Укажите свой логин! Допустимые символы A-Z/a-z/0-9";
}
elseif(!$validateLib->email($email)) {
$result = "Укажите свой реальный E-Mail!";
}
elseif(!$validateLib->tel1($tel1)) {
$result = "Укажите свой телефон!";
}
elseif($house=="") {
$result = "Укажите дом!";
}
elseif(!$validateLib->index($index)) {
$result = "Укажите индекс!";
}
elseif($city=="") {
$result = "Укажите населенный пункт и улицу!";
}
elseif(!$validateLib->password($password)) {
$result = "Пароль должен содержать от 6 до 32 латинских букв, цифр и знаков <i>,.!?_-</i>!";
}
elseif($password != $password2) {
$result = "Введенные вами пароли не совпадают!";
}
elseif($captcha != $captchahash) {
$result = "Укажите правильный код с картинки!";
}
elseif($this->usersModel->getTotalUsers(array('user_email' => $email))) {
$result = "Указанный E-Mail уже зарегистрирован!";
}
elseif($this->usersModel->getTotalUsers(array('user_login' => $login))) {
$result = "Указанный логин уже зарегистрирован!";
}
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
павелЯ
павелЯ
Topic Starter сообщение 24.4.2018, 12:34; Ответить: павелЯ
Сообщение #5


Нашел решение. Взял просто вырезал не нужные мне поля в скрипте.
Теперь задача, чтобы окно с ошибкой выскакивало не над регистрацией а как всплывающее по середине..Можете подсказать?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ShowPrint
ShowPrint
сообщение 24.4.2018, 13:23; Ответить: ShowPrint
Сообщение #6


павелЯ, при самописном сайте вариантов два: либо самому писать скрипт модальных окон, либо использовать готовые решения.

Из готовых решений можно использовать FancyboxArctic Modal, можно ещё нагуглить, или посмотреть по ссылке в этом сообщении (тынц)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
павелЯ
павелЯ
Topic Starter сообщение 24.4.2018, 13:57; Ответить: павелЯ
Сообщение #7


Буду искать выход. Благодарю. 


Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) GetManySubmits - программа для регистрации на сайтах
Современный аналог AllSubmitter для регистрации форм
7 leonidukg 1932 27.6.2022, 13:54
автор: leonidukg
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыРассылка ваших сообщений в контакт формы!
3 dizaynmaks 1078 18.4.2022, 9:04
автор: dizaynmaks
Открытая тема (нет новых ответов) Куплю аккаунт smsc 2018 года регистрации или раньше
0 Ramires 721 9.6.2021, 19:32
автор: Ramires
Открытая тема (нет новых ответов) Почистить код на сайте
1 Timka 767 2.1.2021, 1:13
автор: 0pium
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыВы мне код, я вам как - делать не надо.
0 fedornabilkin 596 18.9.2020, 18:59
автор: fedornabilkin


 



RSS Текстовая версия Сейчас: 29.6.2022, 11:37
Дизайн