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

Проверка введённых данных пользователя и вывод из MySQL

18.12.2014, 16:53. Показов 2408. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В таблице MySQL имеются столбцы id, name, score и pass. Пытаюсь сделать так, чтобы при вводе name, score и pass:
1) проверялось в базе, есть ли в ней записи с таким же именем (name);
2) если записей нет в базе данных, то вводим.
3) если есть, то:
- если пароль записи = введённому паролю, то вывести score
- иначе вывести -1

Но при запросе пароль не проверяет, а всегда вводит новые записи, т.е. считает, что записей нет.

Пункты в скрипте подписал.


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
<?php 
        $db = mysql_connect('host**', 'log**', 'pass*') or die('Could not connect: ' . mysql_error()); 
        mysql_select_db('db_scores') or die('Could not select database');
 
        $name = mysql_real_escape_string($_GET['name'], $db); 
        $score = mysql_real_escape_string($_GET['score'], $db); 
    $pass = mysql_real_escape_string($_GET['pass'], $db);
        $hash = $_GET['hash']; 
    $isComplete = "-1";
 
        $secretKey="SecretKey";
 
        $real_hash = md5($name . $score . $pass . $secretKey); 
        if($real_hash == $hash) { 
            $query = "SELECT * FROM scores WHERE name = $name";            #1
        $result = mysql_query($query); 
        $number = mysql_num_rows($result);
 
        if($number == 0) {              #2
                 $query = "insert into scores values (null, '$name', '$score', '$pass');"; 
             $result = mysql_query($query) or die('Query failed: ' . mysql_error()); 
         $isComplete = "0";
         echo $isComplete;
        } else {                              #3
         if($row['pass'] == $pass) {
            $isComplete = $row['score'];
            echo $isComplete;
         } else {
            echo $isComplete;
         }
        }
        } 
?>
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.12.2014, 16:53
Ответы с готовыми решениями:

Проверка существования пользователя в БД mysql
Имеется функция public static int ChekForus (string usr,string str) { string dopstr = &quot;'&quot;+ usr +...

Проверка авторегистрации пользователя с mysql php
Здраствуйте! Есть такая проблема, нужно вивести баланс пользователля с бд, но то во человека которий зашол на страницу, если он зашол...

Проверка введенных данных
Всем привет, есть код $user = $_POST; $email = $_POST; $proverka_email = &quot;SELECT * FROM users WHERE email = '$email'&quot;; ...

8
775 / 444 / 93
Регистрация: 24.10.2012
Сообщений: 3,240
Записей в блоге: 5
18.12.2014, 18:08
Между 24-й и 25 строкой Вашего листинга кода, который вы выложили, добавьте такую строчку:

PHP
1
$row = mysql_fetch_array($result, MYSQL_ASSOC);
Затем еще раз проверьте как работает код.

И отпишитесь.
1
0 / 0 / 0
Регистрация: 16.09.2014
Сообщений: 10
18.12.2014, 18:23  [ТС]
Всё так же. По-моему, $number возвращает 0
0
775 / 444 / 93
Регистрация: 24.10.2012
Сообщений: 3,240
Записей в блоге: 5
18.12.2014, 18:30
Замените 15-ю строку вашего листинга выше, на такую строчку:

PHP
1
$query = "SELECT * FROM scores WHERE name = '$name';";            #1
Затем еще раз проверьте как работает код.

И отпишитесь.
1
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
18.12.2014, 18:32
Цитата Сообщение от TARDOKKBN Посмотреть сообщение
Но при запросе пароль не проверяет
так исходя из вашего кода он и не должен проверять у вас $number будет 0 так как запрос написан не верно, надо
PHP
1
$query = "SELECT * FROM scores WHERE name = '$name'";
Добавлено через 28 секунд
пока писал опаздал
1
18.12.2014, 18:37

Не по теме:

Кликните здесь для просмотра всего текста
Цитата Сообщение от Виталюска
пока писал опаздал
Пардон. Надо что бы ТС и вам лайк поставил :) На две минутки опоздали.

0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
18.12.2014, 18:40
tolimadokara, ну я здесь не ради лайков
1
0 / 0 / 0
Регистрация: 16.09.2014
Сообщений: 10
18.12.2014, 18:45  [ТС]
Спасибо большое всем!
0
775 / 444 / 93
Регистрация: 24.10.2012
Сообщений: 3,240
Записей в блоге: 5
18.12.2014, 18:50
Цитата Сообщение от Виталюска
tolimadokara, ну я здесь не ради лайков
Ясно.
Цитата Сообщение от TARDOKKBN
Спасибо большое всем!
Работает?

Добавлено через 3 минуты

Не по теме:

А я здесь наверно ради лайков.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.12.2014, 18:50
Помогаю со студенческими работами здесь

Проверка введенных данных
Доброго времени суток! Я только начинаю изучать PHP, каких то знаний в других языках нет. Есть форма: &lt;html&gt; &lt;head&gt;...

Проверка введенных данных
Вот интересно, как делается такое web вот пользователь проверяет совпадает пароль если да то все ОК. если нет там появляться окно типо...

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

Проверка введенных данных
Добрый день.вопрос состоит в том что нужно нужна функция на javascript для проверки ФИО. То есть если что то введено неправильно то...

Проверка введенных данных
Всем привет! Подскажите пожалуйста, каким образом можно проверить веденные данные при запросе цифр? То есть нужно проигнорить если...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера 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