Перейти к содержимому


× Быстрый вопрос
Пользователь месяца
Olya23 Olya23 1-й за Июнь
Очков активности: 1 278 3 темы, 133 сообщения, 6 баллов репутации
ТОП самых активных за этот месяц
  • Фотография web-coder
    #1

    web-coder (good-hoster.ru)
    Очков активности: 1039.5 0 тем, 77 сообщений, 9 баллов репутации

  • Фотография Андрей WPMasterKZ
    #2

    Андрей WPMasterKZ (wpmaster.kz)
    Очков активности: 598.5 2 темы, 51 сообщение, 7 баллов репутации

  • Фотография Rodiola
    #3

    Rodiola (rukodelkovo.ru)
    Очков активности: 243 1 тема, 78 сообщений, 2 балла репутации

  • Фотография Megoydagi
    #4

    Megoydagi (24ho.ru)
    Очков активности: 150 4 темы, 13 сообщений, 4 балла репутации

  • Фотография maxnik
    #5

    maxnik (konovalovpavel.ru)
    Очков активности: 130.5 0 тем, 29 сообщений, 3 балла репутации

  • Фотография FIvYUr
    #6

    FIvYUr (moy-evroopt.ru)
    Очков активности: 108 1 тема, 33 сообщения, 2 балла репутации

  • Фотография BLIK
    #7

    BLIK
    Очков активности: 85.5 Вне конкурса за определение пользователя месяца

  • Фотография lena220678
    #8

    lena220678
    Очков активности: 60 3 темы, 31 сообщение, 1 балл репутации

  • Фотография Olya23
    #9

    Olya23
    Очков активности: 45 Вне конкурса за определение пользователя месяца

  • Фотография katti8907
    #10

    katti8907
    Очков активности: 30 3 темы, 11 сообщений, 1 балл репутации

  • Показать весь ТОП 10
Поддержите форум! =)
Апдейты
  • Яндекс ИКС: 25.06.2019
  • Яндекс выдача: 21.07.2019
Последние темы

Топ 5 участников по репутации


В каких файлах убрать код обязательного заполнения формы регистрации.

#1 павелЯ

павелЯ
  • Пользователь
  • 92 сообщений
  • Репутация: 1
0

Отправлено 23 Апрель 2018 - 15:56

Добрый день. Проблема в том, что на самописном сайте в форме регистрации не обходимо убрать обязательные поля.

Убрали в нужных полях  в коде атрибуты * и request   но все равно при заполнении требует заполнять все поля. Сайт http://retrolot.ru/account/register

Прошу подсказать в данной проблеме.


 

 

  • 0

#2 ShowPrint

ShowPrint
  • Пользователь PRO
  • 3 318 сообщений
  • Репутация: 933

Отправлено 23 Апрель 2018 - 21:25

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

 

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

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

* их выдают "инструменты для веб-мастеров" хрома (думаю что вылезут и в лисе)


  • 0
MasterWEBS: третий дом - моё хобби и увлечение... Второй дом: работа - не меньше 12 часов в день...
Первый дом - под охраной: "Осторожно - злая жена!" (дрессировалась долго и надёжно) /*ссылку не просите - не дам!*/


#3 павелЯ

павелЯ
    Topic Starter
  • Пользователь
  • 92 сообщений
  • Репутация: 1

Отправлено 23 Апрель 2018 - 22:24

В этом файле?

 

 

<?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: 23 Апрель 2018 - 23:47
подправил вставку кода

  • 0

#4 kretovdima

kretovdima
  • Неактивные
  • 8 сообщений
  • Репутация: 1

Отправлено 23 Апрель 2018 - 23:26

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

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 = "Указанный логин уже зарегистрирован!";
}

  • 1

#5 павелЯ

павелЯ
    Topic Starter
  • Пользователь
  • 92 сообщений
  • Репутация: 1

Отправлено 24 Апрель 2018 - 11:34

Нашел решение. Взял просто вырезал не нужные мне поля в скрипте.

Теперь задача, чтобы окно с ошибкой выскакивало не над регистрацией а как всплывающее по середине..Можете подсказать?


  • 0

#6 ShowPrint

ShowPrint
  • Пользователь PRO
  • 3 318 сообщений
  • Репутация: 933

Отправлено 24 Апрель 2018 - 12:23

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

 

Из готовых решений можно использовать FancyboxArctic Modal, можно ещё нагуглить, или посмотреть по ссылке в этом сообщении (тынц)


  • 1
MasterWEBS: третий дом - моё хобби и увлечение... Второй дом: работа - не меньше 12 часов в день...
Первый дом - под охраной: "Осторожно - злая жена!" (дрессировалась долго и надёжно) /*ссылку не просите - не дам!*/


#7 павелЯ

павелЯ
    Topic Starter
  • Пользователь
  • 92 сообщений
  • Репутация: 1

Отправлено 24 Апрель 2018 - 12:57

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


  • 0



Похожие темы

  Название темы Автор Статистика Последнее сообщение

Оформление форума – IPBSkins.ru