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

Проверка записей в базе с последующим внесением данных

10.04.2011, 07:29. Показов 2498. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток.
При регистрации нового пользователя нужно проверить введеные данные из полей формы с уже имеющимися в БД и, если совпадений нет зарегистрирывать пользователя.
Все так-то работает, кроме одного и я не знаю, как это исправить. Может зарегистрирывать даже с одинаковыми логинами =( Помогите пожалуйста начинающему

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
44
45
46
47
Модуль - Регистрация Пользователя
<BR><BR>
 
<?php
 
include 'config.php'; 
 
$rguser = $_GET["user"];
$rgpass = $_GET["pass"];
 
echo "$rguser , $rgpass"; /* проверка введенных в форму данных =) можно удалить */
print "<BR><BR> \n";
/* для проверки, если пользователь не ввел ни чего при регистрации или оставил поля пустыми */
 
$name = 'login';
$pass = 'password';
$noname = '';
$nopass = '';
 
 
 
/* Проверяем введенные пользователем данные */
if (strstr($_GET["user"] , "$name")) {
    print "<BR><CENTER><B>Вы должны ввести имя </B><CENTER>\n";
        } elseif ($_GET["user"]== $noname) {
            print "<BR><CENTER><B>Имя пользователя не может быть пустым </B><CENTER>\n"; }
 
if (strstr($_GET["pass"] , "$pass")) {
    print "<BR><CENTER><B>Вы должны ввести пароль </B><CENTER>\n";
        } elseif ($_GET["pass"] == $nopass) {
            print "<BR><CENTER><B>Пароль не может быть пустым</B><CENTER>\n"; }
                                
            
$link = mysql_connect("$mysql_host", "$user_root", "$root_pass")
    or die("Could not connect : " . mysql_error());
        print "Connected successfully"; /* Потом удалить */
            mysql_select_db("$dbname") or die("Could not select database");
/* Проверяем введенный пользователем логин на наличие в базе и если таковой имеется... */
$result = mysql_query("SELECT login FROM reg_user where login = '$rguser'");
    while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) 
        if (strstr($row["login"] , "$rguser")) {
            print "<BR><BR><CENTER><B>Имя занято</B><CENTER>\n"; } /* ... сообшаем, что оно уже занято */
        elseif ($row["login"] !== "$rguser") 
                    $into = mysql_query("INSER INTO reg_user (login , password) VALUE ($rguser , $rgpass )"); {
                        print "<BR><BR><CENTER><B>Имя свободно</B><CENTER>\n"; } /* ...  */
mysql_close($link);
?>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.04.2011, 07:29
Ответы с готовыми решениями:

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

Проверка подключения к базе данных
Подскажите почему не работает проверка подключения к базе данных? Не выводит ничего. &lt;? function db_connect() { $host =...

Проверка значения в базе данных
Добрый день прошу помощи так как загнался в тупик. Вообщем задача такая будет передаваться параметр id через post, скрипт должен...

6
Студент
 Аватар для MickeyBlueEyes
121 / 132 / 39
Регистрация: 07.04.2011
Сообщений: 503
10.04.2011, 14:42
/* Проверяем введенный пользователем логин на наличие в базе и если таковой имеется... */

$result = mysql_query("SELECT `login` FROM `reg_user` where `login` = '$rguser'");
if(mysql_num_rows($result) != 0)
echo "<BR><BR><CENTER><B>Имя занято</B><CENTER>\n"; /* ... сообшаем, что оно уже занято */
else
{
$into = mysql_query("INSER INTO `reg_user`(`login` , `password`) VALUE ('$rguser' , '$rgpass')");
echo "<BR><BR><CENTER><B>Вы успешно зарегистрировалисьь.</B><CENTER>\n";
}

/* ... */
1
0 / 0 / 0
Регистрация: 10.04.2011
Сообщений: 5
10.04.2011, 17:13  [ТС]
Спасибо. Помогло. Теперь маленькая проблемка, новые записи в БД не поступают, хотя проверка с уже имеющимися проходит отлично

Добавлено через 29 минут
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSER INTO `reg_user` (`login` , `password`) VALUES ('login123' , 'password123')' at line 1

Вот такая ошибка, если проверить запрос
PHP
1
2
3
$into = mysql_query("INSER INTO `reg_user` (`login` , `password`) VALUES ('$rguser' , '$rgpass')") ; 
                    echo "<BR><BR><CENTER><B>Вы успешно зарегистрировались.</B><CENTER>\n"; 
                    echo mysql_error();
0
 Аватар для Nazz
898 / 729 / 80
Регистрация: 12.03.2009
Сообщений: 2,804
Записей в блоге: 2
10.04.2011, 18:22
вот
PHP
1
2
3
mysql_query("INSERT INTO `reg_user` (`login` , `password`) VALUES ('$rguser' , '$rgpass')") ; 
                    echo "<BR><BR><CENTER><B>Вы успешно зарегистрировались.</B><CENTER>\n"; 
                    echo mysql_error();
1
0 / 0 / 0
Регистрация: 10.04.2011
Сообщений: 5
10.04.2011, 18:23  [ТС]
Нашел ошибку, свою же.... Спасибо, помогло =)
0
 Аватар для StagnantIce
125 / 105 / 40
Регистрация: 06.03.2011
Сообщений: 334
11.04.2011, 11:55
С безопасностью все плохо, могут быть SQL-инъекции. Проверяйте параметры, которые вы передаете через GET. Также не очень хорошо использовать запросы прям так, в коде... лучше написать какой никакой класс для работы с базой.
0
0 / 0 / 0
Регистрация: 10.04.2011
Сообщений: 5
11.04.2011, 22:22  [ТС]
Цитата Сообщение от StagnantIce Посмотреть сообщение
С безопасностью все плохо, могут быть SQL-инъекции. Проверяйте параметры, которые вы передаете через GET. Также не очень хорошо использовать запросы прям так, в коде... лучше написать какой никакой класс для работы с базой.
Согласен =) Но, я только учусь =)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.04.2011, 22:22
Помогаю со студенческими работами здесь

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

Проверка даты в базе данных
Всем привет,ребята выручайте кто чем может, вообщем есть js код var date = new Date(); var d = date.getDate(); ...

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

Проверка существования строки в базе данных
Добрый вечер всем! Нужно сделать проверку введенного id с id который в базе. Например, я введу id=5, и если вдруг его в базе нет, то...

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


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
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