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

Регистрация

11.06.2019, 19:50. Показов 513. Ответов 4

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

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
<?php
 
function check_valid_user()  {  
    if (isset($_SESSION['valid_user']))  {return true;}
  else { return false; }
}
function register($id, $username, $email, $password) {
        // Подключение к БД
        $host       = 'localhost'; 
        $user       = 'root'; 
        $password1  = ''; 
        $db_name    = 'user'; 
 
        $link = mysqli_connect($host, $user, $password1, $db_name) or die(mysqli_error($link));
        if ($link) {
            printf ("<font color='green'>Подключение к серверу прошло успешно</font><br>");
        }
        
  // Проверить, уникально ли имя пользователя 
  $result = mysqli_query($link, "select * from `user_reg` where 'username'='$username'"); 
  if (!$result)
     return 'Невозможно выполнить запрос к БД';
  if (mysqli_num_rows($result)>0) 
     return 'Это имя пользователя уже занято - вернитесь на форму регистрации и выберите другое имя.';
  // Если все в порядке, сохранить информацию в БД
  $result = mysqli_query($link, "insert into `user_reg` values ('$id','$username', '$password', '$email')");
  if (!$result)
    return 'Невозможно сохранение в БД - пожалуйста, попытайтесь позже.';
  return true;
}
 
function filled_out($form_vars) {
  // Проверить, что каждая переменная имеет значение
  foreach ($form_vars as $key => $value)   {
     if (!isset($key) || ($value == ''))
        return false;
  }
  return true;
}
 
?>
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
<?php
session_start();
require_once('common.php');
// Проверить, заполнены ли поля формы
    if (!filled_out($_POST))   {
         echo 'Вы не заполнили корректно форму - пожалуйста, вернитесь на форму  и повторите попытку.';
      exit;    }    
 
// Предпринять попытку регистрации
        $id         = '';
        $username   = '';
        $email      = '';
        $password   = '';
        $reg_result = register($id, $username, $password, $email);
        if ($reg_result === true)   {
     // Зарегистрировать переменную сеанса 
     $_SESSION['valid_user'] = $username;
     // Вывести ссылку на страницу, предназначенную для зарегистрированных пользователей
     echo 'Ваша регистрация прошла успешно. '.  
                    ' Переходите на страницу для зарегистрированных пользователей и приступайте...!';
?>
</br>
<a href="mesto1.php">Перейти на страницу для зарегистрированных пользователей</a>
<?php
   }
         else   {
     // В противном случае вывести ссылку назад и предложить повторить попытку
     echo 'Проблема:';
     echo $reg_result; 
         exit;    }
?>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.06.2019, 19:50
Ответы с готовыми решениями:

Регистрация
Помогите создать регистрацию для моего сайта + чтоб пользователь мог оставлять коменты. Желательно чтоб эта информация хранилась в файле на...

регистрация
всем привет! делаю регистрацию и у меня непонятки с проверкой логина или электронной почты. &lt;?php ...

Регистрация
Добрый день. Как сделать, чтобы ошибка &quot;Вы ввели не всю информацию, вернитесь назад и заполните все поля&quot; появлялась, после...

4
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,912
11.06.2019, 20:09
Цитата Сообщение от Outerrsspace Посмотреть сообщение
все поля пустые
Цитата Сообщение от Outerrsspace Посмотреть сообщение
PHP
1
2
3
4
5
$id = '';
$username = '';
$email = '';
$password  = '';
$reg_result = register($id, $username, $password, $email);
Вроде логично, разве нет?

Цитата Сообщение от Outerrsspace Посмотреть сообщение
if (!isset($key) || ($value == ''))
Какой смысл проверки !isset($key)?
0
0 / 0 / 0
Регистрация: 11.06.2019
Сообщений: 3
11.06.2019, 20:15  [ТС]
А как передать данные ?
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,912
11.06.2019, 20:18
Outerrsspace, как указано в вашем ТЗ. Обычно через форму передают методом POST.
0
0 / 0 / 0
Регистрация: 11.06.2019
Сообщений: 3
11.06.2019, 20:20  [ТС]
Спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.06.2019, 20:20
Помогаю со студенческими работами здесь

Регистрация
помогите пожалуйста с регистрацией. вот дан код: &lt;html&gt; &lt;head&gt; &lt;/head&gt; &lt;body&gt; &lt;h2 align=&quot;center&quot;&gt; Регистрация &lt;br&gt;...

Регистрация
Подскажите &quot;программисту&quot;, в чём проблема. Он что-то не догоняет. Делаю, стало быть, регистрацию на основе БД. После ввода логина и пароля...

Регистрация
здравствуйте. я не давно стал изучать php,поэтому у меня куча вопросов. я пишу сейчас регистрацию,и мне нужен код). вот что я написал. ...

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

Регистрация
Саму регистрацию я сделал , а вот авторизацию не получается . Подскажите как дописать код ? &lt;html&gt; &lt;head&gt; ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru