Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP
Войти
Регистрация
Восстановить пароль
 
Yano
0 / 0 / 0
Регистрация: 21.09.2016
Сообщений: 41
1

Обработка формы регистрации

29.01.2018, 20:20. Просмотров 259. Ответов 1
Метки нет (Все метки)

Добрый день. Суть вопроса в следующем:

есть форма регистрации:
HTML5
1
2
3
4
5
6
7
<form>
  <h3>Вы согласны c условиями?</h3>
  <label>ДА</label>
  <input type="checkbox"  name="somename1" class="checkbox partner-yes" id="somename">
  <input type="text" name="somename2" placeholder="Ваш ID"  style="display:none" id="partnerInfoId">
<input type="submit" name="register_submit_button">
</form>
Изначально поле ввода ID скрыто. Если пользователь выставляет/убирает checkbox флажок, по это поле появляется/исчезает с помощью вот такого
javascript:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
$(document).ready(function(){
    $("input.partner-yes").change(function(){
 
        if ($(this).prop("checked")) {
            $("#partnerInfoId").fadeIn().show();
 
            return;
        } else {
            $("#partnerInfoId").fadeOut(100);
        }
 
    });
});
Нужно, чтобы, если пользователь выставляет флажок "да", поле "Ваш ID" становилось обязательным для заполнения. И, если пользователь нажимает на кнопку регистрации, забыв при этом, заполнить это поле(при условии выставления флажка), форма не отправлялась, а страница запоминала положение checkbox(флажок-да(, для того, чтобы input "Ваш ID" был видимым)), и поле подсвечивалось красным бордером. Как это реализовать на php?
У меня есть вот такой код:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 <?
 
        if (isset($_POST['register_submit_button'])) {
 
            $partner = $_POST['somename1'];
            $check = $_POST['somename2'];
            $submit = $_POST['register_submit_button'];
            if ($check=='on') $check = 1;
 
 
            if ($check == 1 && empty($partner)) {
 
               $check = true;
            }
        }
 
        ?>
Но что-то тут не так((( И с подсветкой я не знаю как поступить. Прошу о помощи.

Добавлено через 1 час 26 минут
Вот такой скрипт получился:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<? if(isset($_POST['register_submit_button'])){
        $check=htmlspecialchars($_POST["somename1"]);
        $partner=htmlspecialchars($_POST["somename2"]);
        
        $_SESSION['UF_PARTNER_YES'] = $check;
        $_SESSION['UF_PARTNER_ID'] = $partner;
        // $_SESSION['message'] = $message;
         $error_id ="";
        // $error_message="";
        // $error_email="";
        $error = false;
 
            if(isset($check)&& empty($partner)){
                $error_id="Слишком короткое имя";
                $error = true;
            }
 
        }
?>

Вроде все работает. И ошибку выводит. ТОлько мне вместо ошибки нужно подсвеченное поле. И самое главное. При перезагрузке мой input опять становится невидимым. А мне нужно, в случае ошибки , чтоб он оставался видимым.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.01.2018, 20:20
Ответы с готовыми решениями:

Обработка формы
После обработки html-формы с supername.php, в файл req.php поступают данные с...

Обработка формы
Здравствуйте. У меня вопрос. При нажатии кнопки &quot;Войти&quot;, заполнив форму,...

Обработка формы - заказа
Помогите, пожалуйста, с решением такой проблемы. Есть 2 файла anketa.php и...

Обработка формы в модальном окне
Здравствуйте, нужна помощь. Нужно реализовать обработку формы в модальном окне...

Обработка формы, проверка типа данных
Здравствуйте. Через форму передаю определенное число: &lt;input type=&quot;text&quot;...

1
andyyy
607 / 204 / 114
Регистрация: 26.05.2016
Сообщений: 1,478
31.01.2018, 20:40 2
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<? if(isset($_POST['register_submit_button'])){
        $check=htmlspecialchars($_POST["somename1"]);
        $partner=htmlspecialchars($_POST["somename2"]);
        
 
     if(empty($partner)) {
          $errpar =true;
         $errpar = "Поле id обязательно для заполнения";}
        }
 
        if(   $errpar==false) {//здесь код если ошибки нет}
        echo "все ок";
        }
        
        ?>
HTML5
1
2
<html>
<head>
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 <script src='js/jquery-3.2.1.min.js'>
  </script>
<script>
 
$(document).ready(function(){
    $("input.partner-yes").change(function(){
 
        if ($(this).prop("checked")) {
            $("#partnerInfoId").fadeIn().show();
 
            return;
        } else {
            $("#partnerInfoId").fadeOut(100);
        }
 
    });
});
    
    </script>
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    </head>
 
 
    <body>
 
    <form action='' method='post'>
  <h3>Вы согласны c условиями?</h3>
  <label>ДА</label>
  <input type="checkbox"  name="somename1" class="checkbox partner-yes" id="somename">
  <input type="text" name="somename2" placeholder="Ваш ID" required value='<?php if($errpar) {echo $errpar;}?>'  style="display:none" id="partnerInfoId">
<input type="submit" name="register_submit_button">
</form>
<p><span style='background: red;'><?php if($errpar) {echo $errpar;}?></span></p>
 
      
 
    </body>
 
    </html>
Добавлено через 1 минуту
required + добавил в инпут, можете его убрать -тогда сработает php

Добавлено через 1 минуту
замените эту строчку
HTML5
1
<input type="text" name="somename2" placeholder="<?php if($errpar) {echo $errpar;} else { echo "Ваш ID";}?>"  value=''  style="display:none" id="partnerInfoId">
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.01.2018, 20:40

Обработка формы. Запись данных в базу
Добрый день господа, Есть проблема с записью данных в базу. Помогите решить....

Обработка формы заказа: отослать анкету на почту
Добрый день столкнулся с такой проблемой. Пытался сам что то сделать нужно на...

POST с формы со связанными динамичесскими данными (массивы) и последующая его обработка
Здравствуйте уважаемые! Возникла некая (интересная ) задачка... Если кратко,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru