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

Сравнение паролей при регистрации

04.05.2023, 23:37. Показов 731. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Делаю регистрацию
все работает.
но чет башкой не соображаю как сравнить совпадают ли введённые пароли?

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
function registrations(): bool
{
    global $pdo;
 
    $login = !empty($_POST['login']) ? trim($_POST['login']) : '';
    $pass = !empty($_POST['pass']) ? trim($_POST['pass']) : '';
 
    if (empty($login) || empty($pass)) {
        $_SESSION['errors'] = 'Оба поля оязательны';
        return false;
    }
 
    $res = $pdo->prepare("SELECT COUNT(*) FROM users WHERE login =?");
    $res->execute([$login]);
    if ($res->fetchColumn()) {
        $_SESSION['errors'] = 'Логин занят';
        return false;
    }
 
    $pass = password_hash($pass, PASSWORD_DEFAULT);
    $res = $pdo->prepare("INSERT INTO users (login, pass) VALUES (?,?)");
    if ($res->execute([$login, $pass])) {
        $_SESSION['success'] = 'Вы зарегистрировались';
        return true;
    } else {
        $_SESSION['errors'] = 'Ошибка';
        return false;
    }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.05.2023, 23:37
Ответы с готовыми решениями:

Нужно проверить повтор паролей при регистрации
Здравствуйте, у меня есть проблема с проверкой паролей на совпадение. Есть 2 формы, ввод пароля и повтор пароля. Все условия вроде выставил...

Сравнение паролей
<? //Запуск сессий; session_start(); $filename = "text.txt"; if (isset($_POST) && isset($_POST)) { $arr =...

Сравнение паролей
Доброе время суток есть бд в ней храниться пароль в md5 пытаюсь сравнить пароль через форму входа все время пишет пароль не верный ...

2
Надуваю лягушек
Эксперт PHP
 Аватар для Царь Бабай
289 / 219 / 93
Регистрация: 01.05.2014
Сообщений: 742
05.05.2023, 08:00
Вопрос не допонял.
Пароли которые в 2х строках дублирующиеся
или введеный пароль с сохраненным в БД?


Если первое:
PHP
1
2
3
4
5
6
7
8
9
$password = $_POST['pass'];
    $password_a = $_POST['pass_a'];
    
  if($password!=$password_a)
        {
      echo 'Пароли не совпадают'; 
      unset($_SESSION['image_captcha']);
      break;
        }
Если второе (примерно так):
PHP
1
2
3
4
5
$res = $query->fetch_assoc();
$pass = quote_html($_POST['pass']);
        
if (sha1(sha1($pass.HASH_sha1)) != $res['password'])
{
0
 Аватар для sad67man
2603 / 1507 / 689
Регистрация: 23.08.2015
Сообщений: 3,823
05.05.2023, 13:48
6edyuh,
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
class RegistrationForm
{
    public $login = '';
    public $password = '';
    public $passwordRepeat = '';
 
    private $errors = [];
 
    public function load($data)
    {
        $this->login = trim($data['login'] ?? '');
        $this->password = trim($data['password'] ?? '');
        $this->passwordRepeat = trim($data['passwordRepeat'] ?? '');
    }
 
    public function validate(): bool
    {
        if (empty($this->login)) {
            $this->errors['login'] = 'Введите логин';
        } elseif (mb_strlen($this->login) < 3) {
            $this->errors['login'] = 'Минимум 3 символа';
        }
 
        if (empty($this->password)) {
            $this->errors['password'] = 'Введите пароль';
        } elseif (mb_strlen($this->password) < 6) {
            $this->errors['password'] = 'Минимум 6 символов';
        } else {
            if (empty($this->passwordRepeat)) {
                $this->errors['passwordRepeat'] = 'Введите пароль повторно';
            } elseif ($this->password !== $this->passwordRepeat) {
                $this->errors['passwordRepeat'] = 'Пароли не совпадают';
            }
        }
 
        return empty($this->errors);
    }
 
    public function getErrors(): array
    {
        return $this->errors;
    }
}
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function registration(RegistrationForm $form): int
{
    global $pdo;
 
    $res = $pdo->prepare("SELECT COUNT(*) FROM users WHERE login =?");
    $res->execute([$form->login]);
    if ($res->fetchColumn()) {
        throw new DomainException('Логин занят');
    }
 
    $pass = password_hash($form->password, PASSWORD_DEFAULT);
    $res = $pdo->prepare("INSERT INTO users (login, pass) VALUES (?,?)");
    if (!$res->execute([$form->login, $pass])) {
        throw new RuntimeException('Ошибка');
    }
 
    return $pdo->lastInsertId();
}
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$form = new RegistrationForm();
 
if (!empty($_POST)) {
    $form->load($_POST);
 
    if ($form->validate()) {
        try {
            $userId = registration($form);
            $_SESSION['success_message'] = 'Вы успешно зарегистрировались.';
            header('Location: /login.php');
            die();
        } catch (DomainException $e) {
            $_SESSION['error_message'] = $e->getMessage();
        } catch (Exception $e) {
            $_SESSION['error_message'] = 'Техническая ошибка';
        }
    }
}
 
var_dump($form->getErrors());
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.05.2023, 13:48
Помогаю со студенческими работами здесь

Создание формы регистрации с хранением паролей в Access
Здравствуйте! Я сделал форму входа с возможностью изменения пароля который храниться в текстовом файле. Но это детский лепет. Я хочу...

Сравнение паролей
Помогите разобраться, что не так. Нужно было сравнить пароль с базы данных и с экрана. Но сравнение выдает false, хотя пароли совпадают. ...

Сравнение паролей
Есть вот такой HTML: &lt;input type=&quot;password&quot; name=&quot;newPassword&quot; class=&quot;input validate-field&quot; ...

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

Сравнение введенных паролей
Здравствуйте недавно начал изучать питон и вот в чём проблема код полностью правильный: text=(input(&quot;Введите ваш текст:&quot;)) ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru