С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
52 / 52 / 39
Регистрация: 15.11.2014
Сообщений: 696

Регистрация на сайте

18.11.2014, 22:01. Показов 810. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я решил добавить регистрацию на свой сайт. Я не знаю, вроде бы ввожу тексты, имена и так далее во все input, но постоянно в конце выводит "вы заполнили не все поля". Подскажите пожалуйста что надо добавить или исправить в скрипт. Вот теги и скрипты:
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
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
<html>
<head><title>prograforum</title><link rel="stylesheet" type="text/css" href="index.css"></head>
<body>
<div id="header">
<h1>заголовок1</h1>
<h2>заголовок2</h2></div>
<div id="loyat">
<div id="content1">
<form method="post">
<h1 id="registr">регистрация</h1>
<input type="name" name="name" placeholder="имя"><input type="familyname" name="familyname" placeholder="фамилия">
</br></br></br><p>ваш пол:</p>
</br></br><input type="radio" name="Question" checked><label><p>мужской</p></label>
<br><input type="radio" name="Question" ><label><p>женский</p></label>
<br><br><br><p>дата рождения:</p>
<br><br><br><select id="day" name="day" >
<option value="1">день</option>
<option value="2">1</option>
<option value="3">2</option>
<option value="4">3</option>
<option value="5">4</option>
<option value="6">5</option>
<option value="7">6</option>
<option value="8">7</option>
<option value="9">8</option>
<option value="10">9</option>
<option value="11">10</option>
<option value="12">11</option>
<option value="13">12</option>
<option value="14">13</option>
<option value="15">14</option>
<option value="16">15</option>
<option value="17">16</option>
<option value="18">17</option>
<option value="19">18</option>
<option value="20">19</option>
<option value="21">20</option>
<option value="22">21</option>
<option value="23">22</option>
<option value="24">23</option>
<option value="25">24</option>
<option value="26">25</option>
<option value="27">26</option>
<option value="28">27</option>
<option value="29">28</option>
<option value="30">29</option>
<option value="31">30</option>
<option value="32">31</option>
</select>
<select id="month" name="month">
<option value="1">месяц</option>
<option value="2">январь</option>
<option value="3">февраль</option>
<option value="4">март</option>
<option value="5">апрель</option>
<option value="6">май</option>
<option value="7">июнь</option>
<option value="8">июль</option>
<option value="9">август</option>
<option value="10">сентябрь</option>
<option value="11">октябрь</option>
<option value="12">ноябрь</option>
<option value="13">декабрь</option>
</select>
<select size="1" id="year" name="year">
<option value="66">год</option>
<option value="1">1950</option>
<option value="2">1951</option>
<option value="3">1952</option>
<option value="4">1953</option>
<option value="5">1954</option>
<option value="6">1955</option>
<option value="7">1956</option>
<option value="8">1957</option>
<option value="9">1958</option>
<option value="10">1959</option>
<option value="11">1960</option>
<option value="12">1961</option>
<option value="13">1962</option>
<option value="14">1963</option>
<option value="15">1964</option>
<option value="16">1965</option>
<option value="17">1966</option>
<option value="18">1967</option>
<option value="19">1968</option>
<option value="20">1969</option>
<option value="21">1970</option>
<option value="22">1971</option>
<option value="23">1972</option>
<option value="24">1973</option>
<option value="25">1974</option>
<option value="26">1975</option>
<option value="27">1976</option>
<option value="28">1977</option>
<option value="29">1978</option>
<option value="30">1979</option>
<option value="31">1980</option>
<option value="32">1981</option>
<option value="33">1982</option>
<option value="34">1983</option>
<option value="35">1984</option>
<option value="36">1985</option>
<option value="37">1986</option>
<option value="38">1987</option>
<option value="39">1988</option>
<option value="40">1989</option>
<option value="41">1990</option>
<option value="42">1991</option>
<option value="43">1992</option>
<option value="44">1993</option>
<option value="45">1994</option>
<option value="46">1995</option>
<option value="47">1996</option>
<option value="48">1997</option>
<option value="49">1998</option>
<option value="50">1999</option>
<option value="51">2000</option>
<option value="52">2001</option>
<option value="53">2002</option>
<option value="54">2003</option>
<option value="55">2004</option>
<option value="56">2005</option>
<option value="57">2006</option>
<option value="58">2007</option>
<option value="59">2008</option>
<option value="60">2009</option>
<option value="61">2010</option>
<option value="62">2011</option>
<option value="63">2012</option>
<option value="64">2013</option>
<option value="65">2014</option>
</select>
<input type="email" placeholder="электронная почта"><input type="password" placeholder="пароль"><input type="submit" value="зарегистрироваться">
</form>
</div>
<div id="content2">
<h2 class="content"></h2>
<br><h2 id="registr" style="margin-left:45px; margin-top:-3px;">вход в аккаунт:</h2>
<input type="email" placeholder="электронная почта" style="margin-left:42px; width:420px; margin-top:15px;"><input type="password" placeholder="пароль" style="margin-left:42px;"><a href="forgot.php">забыли</a><input type="submit" value="войти в аккаунт" style="margin-left:42px; width:420px;">
</div>
<div id="footer">
<br><br><h1 style="margin-top:0px;">© Михаил <br></h1>
 
</div>
</div>
</body>
</html>
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
<?php
if (isset($_POST['name'])) { $name=$_POST['name']; if ($name =='') { unset($name);} }
if (isset($_POST['familyname'])) { $familyname=$_POST['familyname']; if ($password =='') { unset($familyname);} }
 
if (isset($_POST['day'])) { $day=$_POST['day']; if ($day =='') { unset($day);} }
if (isset($_POST['month'])) { $month=$_POST['month']; if ($month =='') { unset($month);} }
if (isset($_POST['year'])) { $year=$_POST['year']; if ($year =='') { unset($year);} }
if (isset($_POST['email'])) { $email = $_POST['email']; if ($email == '') { unset($email);} } if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} }
 
if (empty($name) or empty($familyname)  or empty($day) or empty($month) or empty($year) or empty($email) or empty($password)) 
{
exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!");
}
 
$name = stripslashes($name);
$name = htmlspecialchars($name);
 
$familyname = stripslashes($familyname);
$familyname = htmlspecialchars($familyname);
 
 
 
$day = stripslashes($day);
$day = htmlspecialchars($day);
 
$month = stripslashes($month);
$month = htmlspecialchars($month);
 
$year = stripslashes($year);
$year = htmlspecialchars($year);
 
$email = stripslashes($email);
$email = htmlspecialchars($email);
 
$password = stripslashes($password);
$password = htmlspecialchars($password);
 
 
$email = trim($email);
$password = trim($password);
 
 
 
include ("bd.php");
 
 
 
 
$result2 = mysql_query ("INSERT INTO users (email,password) VALUES('$email','$password')");
 
if ($result2=='TRUE')
{
echo "Вы успешно зарегистрированы! Теперь вы можете зайти на сайт. <a href='index.html'>Главная страница</a>";
}
 
else {
echo "Ошибка! Вы не зарегистрированы.";
     }
?>
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.11.2014, 22:01
Ответы с готовыми решениями:

Регистрация на сайте
Здравствуйте, уважаемые пользователи! Стал изучать Php+MySQL. Решил написать пробную регистрацию без всякой обработки-просто добавление...

Регистрация на сайте
скажите пожалуйста, я начала писать сайт на html, но незнаю как сделать, чтобы на мой сайт могли заходить люди только после регистрации.......

Регистрация на сайте
Суток. Пытаюсь сделать регистрацию, но вообще никак не выходит. /на скрине показано, какие столбцы в бд и прочем нужны./ Поможете?...

5
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
18.11.2014, 22:05
https://www.cyberforum.ru/post3458211.html => https://www.cyberforum.ru/post3426199.html + Работа с БД MySQL
0
775 / 444 / 93
Регистрация: 24.10.2012
Сообщений: 3,240
Записей в блоге: 5
19.11.2014, 00:51
Кликните здесь для просмотра всего текста
Цитата Сообщение от Mikhail_Shell
Я решил добавить регистрацию на свой сайт. Я не знаю, вроде бы ввожу тексты, имена и так далее во все input, но постоянно в конце выводит "вы заполнили не все поля".
Вы создали свой скрипт и сами не можете разобраться в нем? Не знаете почему выводиться сообщение
PHP
1
exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!");
?

Тогда есть такой метод, я в скриптах Ваших еще не разбирался, если выводиться это сообщение стр. №12, значит срабатывает это условие
PHP
1
if (empty($name) or empty($familyname)  or empty($day) or empty($month) or empty($year) or empty($email) or empty($password))
, верно?

Так как использовано логическое ИЛИ (OR) то истинным могло быть любое из семи логическими значениями возвращаемыми empty().

Смотрим в справочнике http://php.net/manual/ru/function.empty.php

(PHP 4, PHP 5)

empty — Проверяет, пуста ли переменная


Возвращаемые значения

Возвращает FALSE, если var содержит непустое и ненулевое значение.

Следующие значения воспринимаются как пустые:

https://www.cyberforum.ru/cgi-bin/latex.cgi?\bullet "" (пустая строка)
https://www.cyberforum.ru/cgi-bin/latex.cgi?\bullet 0 (целое число)
https://www.cyberforum.ru/cgi-bin/latex.cgi?\bullet 0.0 (дробное число)
https://www.cyberforum.ru/cgi-bin/latex.cgi?\bullet "0" (строка)
https://www.cyberforum.ru/cgi-bin/latex.cgi?\bullet NULL
https://www.cyberforum.ru/cgi-bin/latex.cgi?\bullet FALSE
https://www.cyberforum.ru/cgi-bin/latex.cgi?\bullet array() (пустой массив)
https://www.cyberforum.ru/cgi-bin/latex.cgi?\bullet var $var; (переменная объявлена, но не имеет значения в классе)
Далее логика
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// POST переменная формы 'name' определена?
if( isset($_POST['name']) ) { 
    
    /* Да. Переменная $name ссылается 
    ** на переменную формы.
    */
    $name = $_POST['name']; 
    
    // Было ли введено значение в поле 'name'?
    if( $name == '' ) { 
        
        // Нет. Уничтожение переменной $name.
        unset($name);
    }
}
 
/* Переменная формы не определена. 
** Переменной $name не 
** существует.
*/
Т.е. такой вывод, что бы
PHP
1
empty($name) == false
,либо

а. $_POST['name'] не пришла с формы, поэтому она не определена.
б. $_POST['name'] пришла с формы, но имела пустое значение и была удалена через unset.

PHP
1
unset($name)
http://php.net/manual/ru/function.unset.php

(PHP 4, PHP 5)

unset — Удаляет переменную

Не по теме:

С $password, $day, $month, $year, $email логика аналочная как с $name



Т.е., либо Вы где то не ввели хотя бы в одном поле ввода его значение. Либо хотя бы одна переменная не пришла с формы.

Вы говорите что
Цитата Сообщение от Mikhail_Shell
вроде бы ввожу тексты, имена и так далее во все input, но постоянно в конце выводит "вы заполнили не все поля"
, тогда вероятно что переменные не приходят к обработке скриптом.

--
Выполнил ваш код на своем локальном сервере. Сразу видно что в
HTML5
1
<form method="post">
не указано значение параметра action к серверному обработчику формы.

Я сохранил Ваш php скрипт с именем proc.php, и указал его в форме
HTML5
1
<form method="post" action="proc.php">
, и нажал на "зарегистрироваться". Сразу интерпретатор ругнулся что не определена переменная $password
Code
1
Notice: Undefined variable: password in C:\Program Files\VertrigoServ\www\proc.php on line 3
Я вообще вот так указал
PHP
1
if (isset($_POST['familyname'])) { $familyname=$_POST['familyname']; if ($familyname =='') { unset($familyname);} }
И еще указал в файле proc.php в стр. №9 вывод всего POST
PHP
1
print_r($_POST);
Далее вернулся "Назад" в браузере и опять ткнул в "зарегистрироваться". Ответ
Code
1
2
3
4
5
6
7
8
9
10
Array
(
    [name] => 
    [familyname] => 
    [Question] => on
    [day] => 1
    [month] => 1
    [year] => 66
)
Вы ввели не всю информацию, вернитесь назад и заполните все поля!
Смотрим стр. №10-13 скрипта proc.php
PHP
1
2
3
4
if (empty($name) or empty($familyname)  or empty($day) or empty($month) or empty($year) or empty($email) or empty($password)) 
{
exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!");
}
Сразу видно что в post переменной окружения отсутствует, что отобразило print_r(), то что очень необходимо при проверке условия
PHP
1
or empty($email) or empty($password)
Т.е. форма эти значения не передает. Оказалось так как я и предполагал при трассировке скрипта

Цитата Сообщение от tolimadokara
, тогда вероятно что переменные не приходят к обработке скриптом.
Ок. Ищем где в исходнике задается email и password. Вот
HTML5
1
2
<input type="email" placeholder="электронная почта">
<input type="password" placeholder="пароль">
стр. №133.

Полям ввода не задан атрибут "name". Хорошо бы вот так записать
HTML5
1
2
<input type="email" name="email" placeholder="электронная почта">
<input type="password" name="password" placeholder="пароль">
Этот name это ключ в массиве $_POST. Сохраняю изменения. Возвращаюсь в браузере "Назад" и опять жму "зарегистрироваться". Ответ
Code
1
2
3
4
5
6
7
8
9
10
11
12
Array
(
    [name] => 
    [familyname] => 
    [Question] => on
    [day] => 1
    [month] => 1
    [year] => 66
    [email] => 
    [password] => 
)
Вы ввели не всю информацию, вернитесь назад и заполните все поля!
Все переменные успешно транспортированы с формы. Но четыре из них имеют значение пустая строка. Поэтому данные дальше не отрабатываються.

Указав все необходимы значения в странице вновь жму "зарегистрироваться". Ответ
Code
1
2
3
4
5
6
7
8
9
10
11
Array
(
    [name] => test
    [familyname] => test
    [Question] => on
    [day] => 1
    [month] => 1
    [year] => 66
    [email] => somebox@somehost.org
    [password] => nopass
)
Процесс пошел дальше, и PHP интерпретатор уже ругается на стр. №44
PHP
1
include ("bd.php");
Code
1
Warning: include(bd.php) [<a href='function.include'>function.include</a>]: failed to open stream: No such file or directory in C:\Program Files\VertrigoServ\www\proc.php on line 44
.

Это уже Вам дальше самим программировать.

Будьте внимательны, тогда на отладку скриптов уйдет меньше времени.

PS. Можно было коротко ответить, но мне почему то хотелось все расписать
1
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
19.11.2014, 08:37
tolimadokara, да не сам он его создал.. Достаточно было перейти по первой ссылке из моего сообщения, чтобы выявить авторство, а заодно и узнать, насколько хорош этот код.
0
19.11.2014, 13:07

Не по теме:

Цитата Сообщение от KOROJI
tolimadokara, да не сам он его создал.. Достаточно было перейти по первой ссылке из моего сообщения, чтобы выявить авторство, а заодно и узнать, насколько хорош этот код.
Да, смотрел. Автор - Попов.

0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
19.11.2014, 14:42
$email и $password не определены
Цитата Сообщение от Mikhail Shell Посмотреть сообщение
<input type="email" placeholder="электронная почта"><input type="password" placeholder="пароль">
где <input type='' name='этого у тебя нет'> из-за этого и возникает ошибка
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.11.2014, 14:42
Помогаю со студенческими работами здесь

Регистрация на сайте
Всем доброго времени суток, решил с 0, написать регистрацию с целью изучение php, знаю html css и js. Примерное число пользователей будет в...

Регистрация на сайте
Всем привет, помогите написать регистрацию на сайте, в интернете все перепробовал не получается, особенно связь с MySQL, работаю через...

Регистрация на сайте php
Здравствуйте, делаю регистрацию на сайте. После проверки верности пароля я сохраняю сессию и перенаправляю браузер пользователя с помощью...

[Регистрация и Авторизация] на сайте
Вобщем давно замечал,что на сайтах авторизация устроенна так: Захожу на сайт site.ru , Авторизуюсь,и перенаправляет на другую страницу...

Регистрация на сайте 1 раз
ребят подскажите как быть? а то не могу понять такое можно сделать как нибудь или нет. на сайте есть страница регистрации ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru