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

md5 и mysql_num_rows

03.09.2013, 10:08. Показов 1115. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
Ребята помогите не пойму в чём дело вот видео http://rghost[dot]ru/private/48528036/ce07589429ac38ade0bc2854ac634f23. Когда в запросе шифрую с мд5 почему то mysql_num_rows выдаёт 0. Подскажите пожалуйста в чём дело и как это исправить ? спасибо !
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.09.2013, 10:08
Ответы с готовыми решениями:

Если MD5 программы не равен MD5, указанному на сервере, то программа закрывается
И так, собственно, изложил свою мысль в заголовке. Если MD5 программы не равен MD5, указанному на сервере (в текстовом файле), то...

Проверка MD5 локального файла с MD5 записанных в двух разных текстовых файлах
Задача такова: Public Function CheckHash(LocalPath As Object, MD5File As Object) LocalPath - Местонахождение локальных файлов, у...

Сравнение md5-сумм с md5-суммами файлов!
Всем доброго времени суток! Помогите реализовать небольшое приложение - вообщем имеется папка "Тест" в этой папке есть 2 файла...

8
14 / 14 / 5
Регистрация: 03.09.2013
Сообщений: 159
03.09.2013, 10:18  [ТС]
id username password email
2 lol 123 123
3 lolol d41d8cd98f00b204e9800998ecf842 1234

PHP
1
2
3
4
5
6
7
8
9
10
11
12
<?php
include ("functions.php");
connect();
 
$query = mysql_query("SELECT `id` FROM `user` WHERE `username`='lolol' AND `password`='".md5($password)."'")or die(mysql_error());
$num = mysql_num_rows($query);
if($num == 1){
    echo "true";
}else{
    echo "false";
}
?>
выводит false почему не могу понять
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
03.09.2013, 10:28
Цитата Сообщение от kepamuk Посмотреть сообщение
PHP
1
md5($password)
А откуда взялся какой-то $password ?

Добавлено через 1 минуту
Цитата Сообщение от kepamuk Посмотреть сообщение
выводит false почему не могу понять
А $num чему равен? Ноль или больше одного?
1
14 / 14 / 5
Регистрация: 03.09.2013
Сообщений: 159
03.09.2013, 10:39  [ТС]
Цитата Сообщение от Vovan-VE Посмотреть сообщение
А откуда взялся какой-то $password ?

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

А $num чему равен? Ноль или больше одного?
действительно не понятно откуда $password, но я просто хотел упростить код на самом деле вё выглядит во так вот
MySQL
1
2
3
 id     username    password    email
2   lol     123     123
3   lolol   d41d8cd98f00b204e9800998ecf842  1234
login.php
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
<?php
session_start();
 
include("header.php");
if(isset($_POST['login'])){
    if(isset($_SESSION['uid'])){
        echo "You are already logged in!";
    }else{
        $username = protect($_POST['username']);
        $password = protect($_POST['password']);
 
        $login_check = mysql_query("SELECT `id` FROM `user` WHERE `username`='$username' AND `password`='".md5($password)."'")or die(mysql_error());
        if(mysql_num_rows($login_check) == 0){
            echo "Invalid Username/Password Combination!";
        }else{
            $get_id = mysql_fetch_array($login_check);
            $_SESSION['uid'] = $get_id['id'];
            header("Location: main.php");
        }
    }
}else{
    echo "You have visited this page incorrectly!";
}
include("footer.php");
?>
header.php
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
<?php
include ("functions.php");
connect();
?>
<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Your Game</title>
    <link href="style.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="header">Your Game</div>
<div id="container">
    <div id="navigation"><div id="nav_div">
            <?php
 
            if(isset($_SESSION['uid'])){
                include ("safe.php");
                echo $stats['gold'];
            }else{
            ?>
                <form action="login.php" method="post">
                    Username: <input type="text" name="username"><br>
                    Password: <input type="password" name="password"><br>
                    <input type="submit" name="login" value="login">
                </form>
            <?php
            }
            ?>
    </div></div>
    <div id="content"><div id="con_div">
http://www.youtube.com/watch?v=9BrisH1qBwM вот видео откуда я всё это брал код вроде идентичен, но у меня почему то не работает не пойму в чём дело (
0
33 / 33 / 9
Регистрация: 26.07.2013
Сообщений: 148
03.09.2013, 11:09
Цитата Сообщение от kepamuk Посмотреть сообщение
$password = protect($_POST['password']);
После этой строки пишите:
PHP
1
2
3
var_dump($password);
var_dump(md5($password));
die();
Если первый результат не равен вашему паролю, который вы вводили значит проблема в функции protect (а скорей всего проблема именно в ней).
Если все же первая строка равна паролю значит смотрите на вторую и сравниваете ее со значением в базе, если они не равны значит пароль в базе захеширован по другому алгоритму.
1
14 / 14 / 5
Регистрация: 03.09.2013
Сообщений: 159
03.09.2013, 11:21  [ТС]
Цитата Сообщение от HWOARANG Посмотреть сообщение
После этой строки пишите:
PHP
1
2
3
var_dump($password);
var_dump(md5($password));
die();
Если первый результат не равен вашему паролю, который вы вводили значит проблема в функции protect (а скорей всего проблема именно в ней).
Если все же первая строка равна паролю значит смотрите на вторую и сравниваете ее со значением в базе, если они не равны значит пароль в базе захеширован по другому алгоритму.
Сделал как Вы сказали, после ввода lolol и пароля 123 вывел: string(3) "123" string(32) "202cb962ac59075b964b07152d234b70". Зарегистрировался по новой
id username password email
2 lol 123 123
3 lolol d41d8cd98f00b204e9800998ecf842 1234
4 kepamuk 202cb962ac59075b964b07152d234b 12345
опять ввожу данные выводит: string(3) "123" string(32) "202cb962ac59075b964b07152d234b70" и всё равно не работает.
functions.php
PHP
1
2
3
4
5
6
7
8
9
10
11
<?php
 
function connect(){
    mysql_connect("localhost","root","");
    mysql_select_db("game");
}
 
function protect($string){
    return mysql_real_escape_string(strip_tags(addslashes($string)));
}
?>
0
33 / 33 / 9
Регистрация: 26.07.2013
Сообщений: 148
03.09.2013, 11:36
Значит при регистрации вы используете другой тип хеширования.
Цитата Сообщение от kepamuk Посмотреть сообщение
string(32) "202cb962ac59075b964b07152d234b70"
это хеш пароля "123", а в базе у вас другие значения хранятся. Сравните этот хеш и данные в столбце password.
Ну или при регистрации вы вводите один пароль, а при авторизации другой.

Добавлено через 4 минуты
Или где-то у вас хеш обрезается, потому что последний хеш совпадает с хешем авторизации, но нет последних двух символов.
2
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
03.09.2013, 11:38
Цитата Сообщение от HWOARANG Посмотреть сообщение
Или где-то у вас хеш обрезается, потому что последний хеш совпадает с хешем авторизации, но нет последних двух символов.
Точно, поле password в таблице декларировано на 30 символов, а не на 32.
1
14 / 14 / 5
Регистрация: 03.09.2013
Сообщений: 159
03.09.2013, 11:41  [ТС]
спасибо огромное !!! какой же я дурак=\
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.09.2013, 11:41
Помогаю со студенческими работами здесь

Рекурсивное переименование файлов, md5-хеш которых совпадает с md5-хешем, указанном в списке файлов
Есть файл из двух колонок md5-хеш и имя файла (краткое, с расширением, UTF-8). Есть каталог с множеством файлов во всевозможных...

Проверка файла на MD5 и SHA1 и сравнение с готовым MD5 и SHA1
Есть файл text.txt на него md5:53734131cd0cf82dfbbe85e0459089e9 и sha1:8f38ce7cb44c0b78f9cb4de6ddedba2107525386 Код: @echo off ...

md5 c++ and md5 php
Доброе время суток, программисты. Пытаюсь добиться идентичного кодирования текстовой строки в php и билдере. В пхп пользуюсь md5(). В...

mysql_num_rows()
Добрый день, уважаемые пользователи форума. Выгребаю данные из бд, ставлю проверку if(mysql_num_rows($result) &gt; 0) .. Если...

Mysql_num_rows
Подскажите, а то что то битый час бьюсь и не пойму в чем дело... Делаю запрос $bd_empty=mysql_query(&quot;SELECT COUNT(`id_user`)...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru