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

Регистрация

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

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
<?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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.06.2019, 19:50
Ответы с готовыми решениями:

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

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

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

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

4
Эксперт PHP
3851 / 3196 / 1343
Регистрация: 01.08.2012
Сообщений: 10,820
11.06.2019, 20:09 2
Цитата Сообщение от 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  [ТС] 3
А как передать данные ?
0
Эксперт PHP
3851 / 3196 / 1343
Регистрация: 01.08.2012
Сообщений: 10,820
11.06.2019, 20:18 4
Outerrsspace, как указано в вашем ТЗ. Обычно через форму передают методом POST.
0
0 / 0 / 0
Регистрация: 11.06.2019
Сообщений: 3
11.06.2019, 20:20  [ТС] 5
Спасибо
0
11.06.2019, 20:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.06.2019, 20:20
Помогаю со студенческими работами здесь

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

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

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

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


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

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