Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 17.05.2016
Сообщений: 107

Контроль вводимых данных

31.05.2018, 07:14. Показов 628. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как сделать контроль вводимых данных в поле, допустим есть поле в которое нужно вводить только буквы русского алфавита, не знаю как реализовать защиту чтобы пользователь не могу ввести в это поле латинские буквы и цифры?

Добавлено через 12 минут
Допустим чтобы в поле почта пользователь не ввел типа такого: ыыпывмыв.
Форма в html:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<form action="form-buy/form-lesson/mail.php" method="POST">
                                    
                                    <legend class="call-title">Форма заказа</legend>
                                    
 
 
                                    <div class="form-group">
                                        <label for="" class="call-title">Введите ваше имя*</label>
                                        <input type="text" class="form-control" id="" name="user_name" placeholder="Например, Иван" required>
                                    </div>
                                
                                    <div class="form-group">
                                        <label for="" class="call-title">Введите номер телефона*</label>
                                        <input type="text" class="form-control" id="" name="user_phone" placeholder="+7 (999) 99 99 999" required>
                                    </div>
                                
                                    <div class="form-group">
                                        <label for="" class="call-title">Введите email*</label>
                                        <input type="text" class="form-control" id="" name="user_email" placeholder="mail@mail.ru" required>
                                    </div>
 
                                    <div class="form-group">
                                        <label for="" class="call-title">Введите марку и год автомобиля*</label>
                                        <input type="text" class="form-control" id="" name="car" placeholder="Toyota Camry 2010 г." required>
                                    </div>
                                
                                    <div class="form-group">
                                        <label for="" class="call-title">Комментарий</label>
                                        <input type="text" class="form-control" id="" name="comment" placeholder="">
                                    </div>
 
                                    <div class="form-group">
                                        <input name="itog" id="senditog" hidden>
                                        <input name="optc" id="sendoptc" hidden>
                                    </div>
                                    
                                    <button type="submit" class="btn btn-primary">Отправить форму</button>
                                    <p>* - поля являются обязательными для ввода!</p>
                                </form>
php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?php 
 
require_once('phpmailer/PHPMailerAutoload.php');
$mail = new PHPMailer;
$mail->CharSet = 'utf-8';
 
$name = $_POST['user_name'];
$phone = $_POST['user_phone'];
$email = $_POST['user_email'];
$car = $_POST['car'];
$comment = $_POST['comment'];
$itog = $_POST['itog'];
$optc = $_POST['optc'];
 
 
//$mail->SMTPDebug = 3;                               // Enable verbose debug output
 
$mail->isSMTP();                                      // Set mailer to use SMTP
$mail->Host = 'smtp.mail.ru';                                                                                           // Specify main and backup SMTP servers
$mail->SMTPAuth = true;                               // Enable SMTP authentication
$mail->Username = 'example@mail.ru'; // Ваш логин от почты с которой будут отправляться письма
$mail->Password = 'example'; // Ваш пароль от почты с которой будут отправляться письма
$mail->SMTPSecure = 'ssl';                            // Enable TLS encryption, `ssl` also accepted
$mail->Port = 465; // TCP port to connect to / этот порт может отличаться у других провайдеров
 
$mail->setFrom('example@mail.ru'); // от кого будет уходить письмо?
$mail->addAddress('example@gmail.com');     // Кому будет уходить письмо 
//$mail->addAddress('ellen@example.com');               // Name is optional
//$mail->addReplyTo('info@example.com', 'Information');
//$mail->addCC('cc@example.com');
//$mail->addBCC('bcc@example.com');
//$mail->addAttachment('/var/tmp/file.tar.gz');         // Add attachments
//$mail->addAttachment('/tmp/image.jpg', 'new.jpg');    // Optional name
$mail->isHTML(true);                                  // Set email format to HTML
 
$mail->Subject = 'Заявка о заказе';
$mail->Body    = '' .$name . ' оставил заявку, его телефон ' .$phone. '<br>Почта этого пользователя: ' .$email.  '<br>Марка и год автомобиля: ' .$car. '<br>Комментарий: ' .$comment. '<br>Цена: ' .$itog. '<br>Выбор: ' .$optc;
$mail->AltBody = '';
 
if(!$mail->send()) {
    echo 'Error';
} else {
    header('location: thank-you.html');
}
?>
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.05.2018, 07:14
Ответы с готовыми решениями:

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

Контроль вводимых данных
Народ кто может за просто так помочь с курсачём?Не с нуля ,конечно, у меня прост сырой код и нужно мнение и помощь профессионала.Заранее...

Контроль вводимых данных в datagridview
здравствуйте. подскажите пожалуйста можно ли в datagridview реализовать замену &quot;.&quot; на &quot;,&quot; при вводе значений до срабатывания...

5
225 / 216 / 89
Регистрация: 12.09.2015
Сообщений: 986
31.05.2018, 07:47
http://php.net/manual/ru/function.filter-var.php
0
 Аватар для atanov
640 / 481 / 172
Регистрация: 26.05.2016
Сообщений: 2,674
31.05.2018, 17:15
Gjf, попробую проверять на клиенте:

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<meta charset='utf-8'>
<form action="form-buy/form-lesson/mail.php" method="POST">
          
                                    <legend class="call-title">Форма заказа</legend>
                                    
                                    <div class="form-group">
                                        <label for="" class="call-title">Введите ваше имя*</label>
                                        <input type="text" class="form-control" id="nameToSend" name="user_name" placeholder="Например, Иван" required>
                                    </div>
                                
                                    <div class="form-group">
                                        <label for="" class="call-title">Введите номер телефона*</label>
                                        <input type="text" class="form-control" id="phoneNumberToSend" name="user_phone" placeholder="+7 (999) 99 99 999" required>
                                    </div>
                                
                                    <div class="form-group">
                                        <label for="" class="call-title">Введите email*</label>
                                        <input type="text" class="form-control" id="emailToSend" name="user_email" placeholder="mail@mail.ru" required>
                                    </div>
 
                                    <div class="form-group">
                                        <label for="" class="call-title">Введите марку и год автомобиля*</label>
                                        <input type="text" class="form-control" id="carInfoToSend" name="car" placeholder="Toyota Camry 2010 г." required>
                                    </div>
                                
                                    <div class="form-group">
                                        <label for="" class="call-title">Комментарий</label>
                                        <input type="text" class="form-control" id="commentsToSend" name="comment" placeholder="">
                                    </div>
 
                                    <div class="form-group">
                                        <input name="itog" id="senditog" hidden>
                                        <input name="optc" id="sendoptc" hidden>
                                    </div>
                                    
                                    <button type = "submit" class="btn btn-primary" hidden id = "toSubmit">Отправить форму</button>
                                    <p>* - поля являются обязательными для ввода!</p>
                                </form>
                                <button id = "sendThisShit">Отправить форму</button>
</html>
<script src = "69.js"></script>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
var getName, getEmail, getCarInfo, getComments;
document.getElementById('sendThisShit').onclick = submitThis;
function submitThis(){
    if (getName=='true'&&getEmail=='true'&&getCarInfo=='true'&&getComments=='true'){
    document.getElementById('toSubmit').click();}else{return;}  
}
document.getElementById('emailToSend').onchange = checkEmail;
function checkEmail (){
    var patternEmail = /^[\w]{1}[\w-\.]*@[\w-]+\.[a-z]{2,4}$/i;
    if(patternEmail.test(document.getElementById('emailToSend').value)){
        getEmail = 'true';
    }
}
// от уважаемого профессора рони javascript
var phoneNumber = document.getElementById('phoneNumberToSend');
    phoneNumber.addEventListener("input", mask, false);
    phoneNumber.addEventListener("focus", mask, false);
    phoneNumber.addEventListener("blur", mask, false);
function setCursorPosition(pos, elem) {
    elem.focus();
    if (elem.setSelectionRange) elem.setSelectionRange(pos, pos);
    else if (elem.createTextRange) {
        var range = elem.createTextRange();
        range.collapse(true);
        range.moveEnd("character", pos);
        range.moveStart("character", pos);
        range.select();
    }
}
function mask(event) {
    var matrix = "+7 (___) ___ ____",
        i = 0,
        def = matrix.replace(/\D/g, ""),
        val = this.value.replace(/\D/g, "");
    if (def.length >= val.length) val = def;
    this.value = matrix.replace(/./g, function(a) {
        return /[_\d]/.test(a) && i < val.length ? val.charAt(i++) : i >= val.length ? "" : a
    });
    if (event.type == "blur") {
        if (this.value.length == 2) this.value = "";
    } else setCursorPosition(this.value.length, this);
};
document.getElementById('nameToSend').oninput = checkName;
function checkName(){
    var patternName = /^[А-Я]$/i;
if (patternName.test(document.getElementById('nameToSend').value))
{getName = 'true';}else{}
}
document.getElementById('carInfoToSend').oninput = checkCarInfo;
function checkCarInfo(){
    if (document.getElementById('carInfoToSend').value)
    getCarInfo = 'true';    
}
document.getElementById('commentsToSend').oninput = checkComments;
function checkComments(){
    if (document.getElementById('commentsToSend').value)
    getComments = 'true';   
}
0
225 / 216 / 89
Регистрация: 12.09.2015
Сообщений: 986
31.05.2018, 17:59
atanov, нельзя проводить валидацию только на клиенте. Клиентская валидация нужна только для удобства оповещения пользователя о том, что он не так вводит.
Если данные нужно будет выбирать, выгружать, обрабатывать, это будет не очень, когда потом (и если) выяснится, что в БД есть невалидные данные.
0
 Аватар для atanov
640 / 481 / 172
Регистрация: 26.05.2016
Сообщений: 2,674
31.05.2018, 18:01
Анар, согласен, это вариант удобства. Конечно нужно проверять, что серверу шлют пользователи.
0
0 / 0 / 0
Регистрация: 17.05.2016
Сообщений: 107
01.06.2018, 12:51  [ТС]
Спасибо, я уже разобрался
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.06.2018, 12:51
Помогаю со студенческими работами здесь

Контроль вводимых пользователем данных
Здравствуйте, в книге Зиборова есть урок по контролю вводимых данных в текстовое поле. Код выглядит следующим образом: Private Sub...

Контроль вводимых данных в приложение
Здравствуйте, пожалуйста помогите исправить ошибку в программе. Мне нужно, чтобы при вводе оценок, например, если ввести любое слово или...

Контроль вводимых с клавиатуры данных, через точку/запятую
При ошибочном вводе вещественных чисел через запятую, вместо точки, оператор read записывает в переменную число с отбросом дробной части....

Как обеспечить контроль правильности вводимых данных в калькуляторе?
Создала программу калькулятор, преподаватель дал дополнительное задание: Обеспечить контроль правильности вводимых данных. Например, при...

Контроль вводимых данных в программе перевода систем счисления
Всем привет, я написал программу для перевода чисел из 8сс в 10сс и обратно, но не в этом суть. Препод сказал сделать проверку на вводимые...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru