0 / 0 / 0
Регистрация: 17.09.2012
Сообщений: 40
1

Проверка на правильность заполнения полей формы

06.11.2012, 12:58. Показов 15462. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<html>
 
<head>
<title> </title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
 
<body background="reWalls.com-70477.jpg">
<form method="POST" action="" enctype="">                                                
User name: <br/>
   <input name="base1" type="text" size="25" maxlength="30" value="" /> <br />
E-mail: <br/>
   <input name="base2" type="text" size="25" maxlength="30" value="" /> <br />
Address web resource:<br/>
   <input name="base3" type="text" size="25" maxlength="30" value="" /> <br />
   <input name="remember" type="checkbox"/> Remember <br />
   <input name="enter"    type="submit"                   value="Enter" />
</form>
 
<?php 
/**
*isset() - проверяет на наличие переменной/значения (равно NULL или нет)
*empty() - проверяет переменную на пустоту. Обращаю внимание, 0 - для нее тоже пустота!
**/
if(isset($_POST['enter'])) { #если нажата клавиша формы
$first_var = $_POST['base1'];#присваиваем значение первого поля первой переменной
#Важный момент. все переменные, полученные от пользователя нужно проверять и очищать!
$first_var = trim($first_var); #убираем пробелы по краям, если они есть
if(empty($first_var)) echo 'please fill in the entry field!'; #если пустая, выводим 'please fill in the entry field!'!
else 
{ #не пустая
echo 'the result of processing: <b>', $first_var, '</b>';
# echo поддерживает и конкатенацию, и вывод нескольких выражений одновременно
# причем с выводом через запятую работает немного побыстрее, чем через конкатенацию (склеивание) строк
}
}
?>
 
<?php
if(isset($_POST['enter'])) { 
$user_var = $_POST['base2'];
$user_var = trim($user_var); 
if(!preg_match("[-a-z0-9!#$%&'*+/=?^_`{|}~]+(\.[-a-z0-9!#$%&'*+/=?^_`{|}~]+)*", $user_var)) 
{
   echo "this field is not filled correctly"; 
}
else
{ 
   echo 'the result of processing: <b>', $user_var, '</b>';  
}
} 
?>
 
<?php
if(isset($_POST['enter'])) {
$adress_var = $_POST['base3'];
$adress_var = trim($adress_var); 
if(!preg_match("/(https?:\/\/)?(www\.)?([-а-яa-z0-9_\.]{2,}\.)(рф|[a-z]{2,6})((\/[-а-яa-z0-9_]{1,})?\/?([a-z0-9_-]{2,}\.[a-z]{2,6})?(\?[a-z0-9_]{2,}=[-0-9]{1,})?((\&[a-z0-9_]{2,}=[-0-9]{1,}){1,})?)/i", $adress_var)) 
{
    echo "this field is not filled correctly";
}
else
{ 
    echo 'the result of processing: <b>', $adress_var, '</b>';  
}
} 
?>
</body>
</html
Вот еще один отдельный скрипт:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<html>
             <head> </head>
<body>
<form method="POST" >
<input type="text" name="first" />
<input type="submit" name="ok_go" value="enter" />
</form>
<?php
if(isset($_POST['enter'])) { 
$user_email = $_POST['first'];
$user_email = trim($user_email);
if (!filter_var($user_email, FILTER_VALIDATE_EMAIL))
{
echo !filter_var('$user_email',FILTER_VALIDATE_EMAIL) ? 'Мыло верное' : 'Мыло неверное';; 
}
}
</body>
</html>
Помогите пожалуйста разобраться с ошибками,не выводится статистика обрабатываемых данных.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.11.2012, 12:58
Ответы с готовыми решениями:

Проверка полей формы на правильность заполнения
В общем есть Landing Page, в нем есть обратные формы связи. В принципе они работают, но хотелось бы...

Форма обратной связи. Проверка на правильность заполнения полей
Здравствуйте в PHP я совсем не шарю. Помогите пожалуйста. Форма обратной связи не отсылает...

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

Создайте форму ввода данных о пользователе (ФИО, e-mail, телефон). Напишите скрипт, который проверяет правильность заполнения полей формы
Здравствуйте. У меня есть несколько задач, но вроде как в одной теме нельзя размещать несколько...

7
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
06.11.2012, 14:13 2
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<html>
             <head> </head>
<body>
<form method="POST" >
<input type="text" name="first" />
<input type="submit" name="ok_go" value="enter" />
</form>
<?php
if(isset($_POST['ok_go'])) { 
    $user_email = $_POST['first'];
    $user_email = trim($user_email);
    
    echo filter_var('$user_email',FILTER_VALIDATE_EMAIL) ? 'Мыло верное' : 'Мыло неверное';
 
}
?>
</body>
</html>
0
0 / 0 / 0
Регистрация: 17.09.2012
Сообщений: 40
06.11.2012, 18:26  [ТС] 3
ваша конструкция не работает при заполнении поля каким либо email адресом!
0
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
06.11.2012, 18:31 4
PHP
1
echo filter_var($user_email, FILTER_VALIDATE_EMAIL) ? 'Мыло верное' : 'Мыло неверное';
Добавлено через 41 секунду
у вас же скопировал и не заметил кавычек
1
KOPOJI
06.11.2012, 20:19
  #5

Не по теме:

Цитата Сообщение от alpex Посмотреть сообщение
PHP
1
2
$user_email = $_POST['first'];
* * $user_email = trim($user_email);
только это - лишние строчки в коде) так наверное получше будет?
PHP
1
$user_email = trim($_POST['first']);

1
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
06.11.2012, 20:23 6
ну да так получше однозначно
copy paste
0
356 / 280 / 22
Регистрация: 27.08.2012
Сообщений: 855
07.11.2012, 00:43 7
Добавлено через 8000 минут

Не по теме:

Ну раз так :), значит тогда вот так:

PHP
1
2
3
4
5
6
7
8
9
10
<html>
<head> </head>
<body>
<form method="POST" >
<input type="text" name="first" />
<input type="submit" name="ok_go" value="enter" />
</form>
<?php echo (isset($_POST['ok_go'])?(filter_var(trim($_POST['first']),FILTER_VALIDATE_EMAIL)?'Мыло верное':'Мыло неверное'):"");?>
</body>
</html>
:D
Правда будет ли работать - не знаю ))))

1
0 / 0 / 0
Регистрация: 07.11.2013
Сообщений: 74
07.11.2013, 09:36 8
вопрос в тему :

есть простенький код обработчика всё отправляет нормально, только пустые поля тоже......... подскажите что и где вставить чтобы проверялась правильность заполнения(для маила соответственно @ , для tel только цифры для имени только буквы)....

вот код :

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
<?php
 
if (isset($_POST['name'])) {$name = $_POST['name'];}
if (isset($_POST['email'])) {$email = $_POST['email'];}
if (isset($_POST['tel'])) {$tel = $_POST['tel'];}
if (isset($_POST['komment'])) {$komment = $_POST['komment'];}
 
 
 
$address = "@gmail.com";
 
$sub = "Новая заявка с сайта";
 
$mes = "Автор указал такое имя: $name \nОставил такой телефон: $tel \nОставил такой емаил: $email \nОставил такой комментарий к заказу: $komment ";
 
 
$send = mail ($address,$sub,$mes,"Content-type:text/plain; charset = utf-8\r\nFrom:$name");
if ($send == 'true')
{
echo "<img src='images/zakaz.png'>";
echo "<a href=index.html>Нажмите,</a> чтобы вернуться на главную страницу";
 
}
else
{
echo "Сообщение не отправлено!";
}
 
 
?>
0
07.11.2013, 09:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.11.2013, 09:36
Помогаю со студенческими работами здесь

Проверка заполнения полей
Здравствуйте! Есть вот такая форма: &lt;form method=&quot;post&quot; action=&quot;action.php&quot;&gt; ФИО_сотрудника:...

Проверка заполнения полей
Добрый день. Подскажите как вывести ошибку, если при вводе данных человек не заполнил одно из полей...

Добавить условия заполнения полей формы
Доброго времени суток ! Вопрос по коду обработчика формы Как добавить условие проверки полей...

Отправка формы на почту без заполнения полей
Доброго времени суток! У меня такая ситуация. Есть форма отправки данных на почту. Но почему-то...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru