Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
 Аватар для mftmbqq
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 28

Регистрация нового пользователя (PHP+MySQL)

04.06.2014, 04:06. Показов 1840. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, уважаемые господа!
Будьте так любезны, осветите разум юного подавана.
Требуется, чтобы новому региструемому пользователю автоматически назначался минимальный незанятый ID.

Ниже код уже содранной и немного поправленой регистрации:
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
<?php
    if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} } // заносим введенный пользователем логин в переменную $login, если он пустой, то уничтожаем переменную
    if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} } // заносим введенный пользователем пароль в переменную $password, если он пустой, то уничтожаем переменную
    if (isset($_POST['email'])) { $email=$_POST['email']; if ($email =='') { unset($email);} } // заносим введенный пользователем пароль в переменную $email, если он пустой, то уничтожаем переменную
    if (isset($_POST['name'])) { $name=$_POST['name']; if ($name =='') { unset($name);} } // заносим введенный пользователем пароль в переменную $name, если он пустой, то уничтожаем переменную
    if (isset($_POST['surname'])) { $surname=$_POST['surname']; if ($surname =='') { unset($surname);} } // заносим введенный пользователем пароль в переменную $surname, если он пустой, то уничтожаем переменную
 if (empty($login) or empty($password) or empty($email)) //если пользователь не ввел логин, пароль или почту - выдаем ошибку и останавливаем скрипт
    {
    exit ("Заполните, пожалуйста, обязательные поля.");
    }
    // если логин и пароль введены, то обрабатываем их, чтобы игнорировались теги и скрипты
    $login = stripslashes($login);
    $login = htmlspecialchars($login);
    $password = stripslashes($password);
    $password = htmlspecialchars($password);
    // удаляем лишние пробелы
    $login = trim($login);
    $password = trim($password);
    
    // подключаемся к базе
    include ("db.php");
    $result = mysql_query("SELECT login FROM users_list WHERE login='$login'") or die(mysql_error());
    $myrow = mysql_fetch_array($result);
    if (!empty($myrow['login'])) {
    exit ("Извините, введённый вами логин уже занят. Введите другой логин.");
    }
 // если такого нет, то сохраняем данные
    $result2 = mysql_query ("INSERT INTO users_list (login,password,email,name,surname) VALUES('$login','$password','$email','$name','$surname')");
    // Проверяем, есть ли ошибки
    if ($result2=='TRUE')
    {
    echo "Вы успешно зарегистрированы! Теперь вы можете <a href='index.php'>зайти на сайт</a> под своими данными";
    }
 else {
    echo "Какая-то ошибка!";
    }
    ?>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.06.2014, 04:06
Ответы с готовыми решениями:

Регистрация PHP + MYSQL
Не хочет регистрироваться в чем проблема подскажите? &lt;?php if (!empty($_POST)) { $nzak =($_POST); $bank =($_POST); ...

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

Регистрация на PHP + MySQL с E-mail и повтором пароля
Помогите, люди добрые! Никак не могу разобраться! Введённое в поле &quot;Повтор пароля&quot; с самого начала не заносит в переменную. Это...

6
1080 / 1007 / 107
Регистрация: 28.02.2010
Сообщений: 2,889
04.06.2014, 11:36
1. Создаете столбец user_id в таблице user_list как PRIMARY KEY со свойством AUTOINCREMENT.
2. Если требуется, то user_id только-что добавленного пользователя узнаете с помощью mysql_insert_id();

А еще предлагаю к полю login добавить свойство UNIQUE, после которого добавление пользователя с существующим логином будет невозможным и не нужно вызывать "SELECT login" чтобы проверять существование такого логина.
1
 Аватар для mftmbqq
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 28
04.06.2014, 16:28  [ТС]
Спасибо!
Только если сделаю UNIQUE к login, как вывод ошибки сделать, если логин занят?

Добавлено через 14 минут
И ещё вопрос.
Как сделать так, чтобы при при регистрации введённый email проверялся на присутствие знака собаки (@) и минимум одной точки?
0
1080 / 1007 / 107
Регистрация: 28.02.2010
Сообщений: 2,889
05.06.2014, 08:46
Цитата Сообщение от mftmbqq Посмотреть сообщение
как вывод ошибки сделать, если логин занят?
Проверяете номер ошибки с помощью mysql_errno(). Для существующего login будет свой номер.

Цитата Сообщение от mftmbqq Посмотреть сообщение
введённый email проверялся на присутствие знака собаки (@) и минимум одной точки?
С помощью strpos() например. Если владеете регулярками - то еще лучше.
1
Web Programmer
 Аватар для JimUSA
325 / 286 / 121
Регистрация: 28.09.2011
Сообщений: 1,570
06.06.2014, 14:07
PHP
1
preg_match("/^([a-z0-9_\.-]+)@([a-z0-9_\.-]+)\.([a-z\.]{2,6})$/", $email)
1
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
06.06.2014, 14:41
Цитата Сообщение от mftmbqq Посмотреть сообщение
Как сделать так, чтобы при при регистрации введённый email проверялся на присутствие знака собаки (@) и минимум одной точки?
Может стоит использовать такое:
PHP
1
filter_var($email, VALIDATE_EMAIL);
Добавлено через 7 минут
Вот эта поповская муть немного раздражает (ну, как немного: хоть на стенку лезь ):
PHP
1
if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} }
Ну что это такое? Не проще ли хотя бы так:
PHP
1
$login = isset($_POST['login']) ? $_POST['login'] : null;
А вообще мне кажется лучше проверять с помощью filter_input_array() все поступившие данные. А ещё лучше использовать фреймворк. Но если с фреймворком не знакомы - можно же нормально на php писать.mftmbqq, это я не Вам, это я на Попова ругаюсь , Вы просто попались по неведению .
1
 Аватар для mftmbqq
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 28
07.06.2014, 13:17  [ТС]
Спасибо за ответы, господа! :-)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.06.2014, 13:17
Помогаю со студенческими работами здесь

Форма регистрации php + Mysql(phpmyadmin). Регистрация не работает посмотрите(код)
У меня есть база данных логина и пароля. В этом коде должен выполнятся запрос на регистрацию логина и пароль в базу данных Mysql. ...

Регистрация нового пользователя на сайте
Здравствуйте! Задача: зарегистрировать нового пользователя, дать ему возможность заполнить форму с его данными, добавить фото с его...

Браузер MYSQL на PHP для конечного пользователя
Доброго дня! Требуется браузер MYSQL (типа phpmyadmin/chive) на PHP для конечного пользователя. Т.е. удобный интерфейс, возможность...

Замена информации в базе данных MySQL со страницы пользователя через PHP
Помогите пожалуйста!!! Не знаю как решить проблему. Делаю мини форум и на странице пользователя должна быть возможность замены логина. ...

Как сделать, чтобы при нажатии по нику или логину пользователя, попасть на его страницу php mysql
Как на странице пользователи сайта организовать такую вещь: Это уже сделано -&gt; Выводим список зарегистрированных пользователей: Это...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru