Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/48: Рейтинг темы: голосов - 48, средняя оценка - 4.69
 Аватар для Astrox
13 / 13 / 2
Регистрация: 20.12.2008
Сообщений: 73

Проверка на совпадение логина регистрации в базе данных?

26.12.2010, 20:42. Показов 9106. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Проверка на совпадение логина регистрации в базе данных!
Регистрирует, заносит данные в базу, но всеравно не проходит проверку на совпадение логинов, уже как хочешь пробывал, всеравно записывает в таблицу одинаковые логины. Нужно чтобы записывало в таблицу базы только те данные в которых логин при регистрации не совпадает ни с одним из логинов в таблице базы данных... 3 дня не могу понять что не так, Помогите!

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
$sub=$_POST['sub'];
if(isset($sub)) 
{ 
if (($_POST['login']=='') || ($_POST['pass1']=='') || ($_POST['pass2']=='')) {print('<p align="center" ><font color="red" size="20">Не заполнены поля!</font></p>');}
elseif ($_POST['pass1']!==$_POST['pass2']) {print('<p align="center"><font color="red" size="20">Пароли не совпадают!</font></p>');}
else 
{
$login=$_POST['login'];
$password=$_POST['pass1'];
$name=$_POST['name'];
$dbhost = 'localhost';
$dbusername = 'root';
$dbpasswd = '';
$database_name = 'base';
 
$connection = mysql_pconnect("$dbhost","$dbusername","$dbpasswd")
     or die ("Не могу соединиться с сервером базы данных");
 
$db = mysql_select_db("$database_name", $connection)
     or die("К серверу подключено. Не могу найти вибраную базу данных!");
 
 
$sql_username_check = mysql_query("SELECT login FROM table WHERE Login='$login' ");
if (!$sql_username_check)
     {$sql2 = mysql_query("INSERT INTO `base`.`table` (`Login`,`Password`,`Name`,`Date`) VALUES ('$login','$password','$name',now())");
        if(!$sql2)
             {echo 'Ошибка при создании записи. Попробуйте еще раз!.';}
               else
               {print('Успешно загегистрирован!');}
     }
     else
     {echo "Этот логин занят, попробуйте другой!<br />";}
}
T_endif; 
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.12.2010, 20:42
Ответы с готовыми решениями:

Проверка логина в базе данных
Добрый день, товарищи программисты. Попытался написать форму регистрации. Ошибка в том, что не выдаёт сообщение, что &quot;Такой логин уже...

Проверка при регистрации логина
Немогу искать и пробовать, устал!!! Хочу зделать проверку логина при регистрации, лазил по всему интернету , перепробовал все, ошибка...

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

7
 Аватар для Sulik78
450 / 203 / 27
Регистрация: 23.12.2010
Сообщений: 645
26.12.2010, 21:00
вставьте еще одну строку примерно так вам нужно посчитать кол-во !> 0
<?
$sql_username_check = mysql_query("SELECT login FROM table WHERE Login='$login' ");
$num_login = mysql_num_rows($sql_username_check);
if (!$num_login) {
?>
0
 Аватар для Astrox
13 / 13 / 2
Регистрация: 20.12.2008
Сообщений: 73
26.12.2010, 21:17  [ТС]
Цитата Сообщение от Sulik78 Посмотреть сообщение
вставьте еще одну строку примерно так вам нужно посчитать кол-во !> 0
<?
$sql_username_check = mysql_query("SELECT login FROM table WHERE Login='$login' ");
$num_login = mysql_num_rows($sql_username_check);
if (!$num_login) {
?>
Ну вот вставил:
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
$sub=$_POST['sub'];
if(isset($sub)) 
{ 
if (($_POST['login']=='') || ($_POST['pass1']=='') || ($_POST['pass2']=='')) {print('<p align="center" ><font color="red" size="20">Не заполнены поля!</font></p>');}
elseif ($_POST['pass1']!==$_POST['pass2']) {print('<p align="center"><font color="red" size="20">Пароли не совпадают!</font></p>');}
else 
{
$login=$_POST['login'];
$password=$_POST['pass1'];
$name=$_POST['name'];
$dbhost = 'localhost';
$dbusername = 'root';
$dbpasswd = '';
$database_name = 'base';
 
$connection = mysql_pconnect("$dbhost","$dbusername","$dbpasswd")
     or die ("Не могу соединиться с сервером базы данных");
 
$db = mysql_select_db("$database_name", $connection)
     or die("К серверу подключено. Не могу найти вибраную базу данных!");
 
 
$sql_username_check = mysql_query("SELECT login FROM table WHERE Login='$login' ");
$num_login = mysql_num_rows($sql_username_check);
if (!$num_login)
     {$sql2 = mysql_query("INSERT INTO `base`.`table` (`Login`,`Password`,`Name`,`Date`) VALUES ('$login','$password','$name',now())");
        if(!$sql2)
             {echo 'Ошибка при создании записи. Попробуйте еще раз!.';}
               else
               {print('Успешно загегистрирован!');}
     }
     else
     {echo "Этот логин занят, попробуйте другой!<br />";}
}
T_endif; 
}
Но всеравно записывает данные и выводит следующее:
"Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in Z:\home\new.ru\www\reg.php on line 44
Успешно загегистрирован!"
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
26.12.2010, 22:44
так попробуй
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$arr = array(); // создаем пустой массив чтобы записать туда все логины из БД
$sql_username_check = mysql_query("SELECT login FROM table");
if (mysql_num_rows($sql_username_check) > 0) {
        while ($num_login = mysql_fetch_array($sql_username_check)) {
            $arr = $num_login['login']; // здесь и записываем все логины
        } 
}
// проверяем, есть ли в массиве логинов загруженный нами новый логин
// если нет, - записываем...
if (!in_array($login, $arr)) {
$sql2 = "INSERT INTO `table` (`Login`,`Password`,`Name`,`Date`) VALUES ('$login','$password','$name',now())";
  $result = mysql_query($sql2) or exit("Ошибка при создании записи. Попробуйте еще раз! ". mysql_error());     
 
     }
     else
     {echo "Этот логин занят, попробуйте другой!<br />";}
}
T_endif; 
}
0
 Аватар для Astrox
13 / 13 / 2
Регистрация: 20.12.2008
Сообщений: 73
26.12.2010, 23:56  [ТС]
И снова записывает данные и выводит следующее:
"Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in Z:\home\new.ru\www\reg.php on line 44
Успешно загегистрирован!"

Что интересно везде где встечалась функция mysql_num_rows() выдает эту ошибку....
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
27.12.2010, 00:06
здесь попробуй одинарные кавычки поставить
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
$sql_username_check = mysql_query("SELECT login FROM table");
0
 Аватар для Astrox
13 / 13 / 2
Регистрация: 20.12.2008
Сообщений: 73
27.12.2010, 00:18  [ТС]
Та же ошибка... Это тупик какойто... Мож какието опции не прописаны?
0
191 / 191 / 31
Регистрация: 04.10.2010
Сообщений: 505
27.12.2010, 09:50
А это нормально?...
Вроде одно и тоже поле, а написано по разному login и Login.
PHP
1
$sql_username_check = mysql_query("SELECT login FROM table WHERE Login='$login' ");
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.12.2010, 09:50
Помогаю со студенческими работами здесь

Проверка логина из формы на наличие логина в базе данных
Пожалуюста подскажите что у меня неправильно работает в коде. Ошибок вродебы нет. Вообщем код должен получать данные из формы записывать их...

Проверка логина при регистрации
Здраствуйте! У меня проблема! Я сделал скрипт проверки логина при регистрации и после нажатия кнопки зарегистрироватса, одновременно: ...

Проверка логина при регистрации php7
Здравствуйте, я столкнулся с проблемой при тестирование кода, я хочу что-бы можно было зарегистрировать только один логин а не множество,...

Проверка на существование логина при регистрации
Помогите со скриптом &lt;script src=&quot;jquery.js&quot; type=&quot;text/javascript&quot; language=&quot;javascript&quot;&gt;&lt;/script&gt; &lt;script...

Проверка логина (на плагиат) при регистрации пользователей
Всем доброго дня, имеется простая форма регистрации и входа на сайт, но при регистрации не получается установить проверку логина (то есть...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru