Создать ответ 
Обращение к БД по хешу ID
Автор Сообщение
ale10ey Не на форуме
Генерал-лейтенант
*

Сообщений: 352
У нас с: Nov 2014
Сообщение: #21
RE: Обращение к БД по хешу ID
Да, все верно, я тоже проверил была ошибка:

Parse error: syntax error, unexpected T_STRING

1 код:
Код:
$res=mysqli_fetch_array(mysqli_query($db,"SELECT skype FROM dwg_contacts WHERE id=2"));

и 2 код:
Код:
$res=mysqli_fetch_array(mysqli_query($db,"SELECT skype FROM dwg_contacts WHERE md5='ff8b1ed2fb2b3e5bcd505f22e94d0498'"));

извлечение верное для 1 и 2 кода:

Код:
***ale10ey*** Warning: mysqli_fetch_array()

Получается, что извлечение из базы работает, но как теперь отображать без ошибок ?
(Последний раз сообщение было отредактировано 13.12.2015 в 19:54:09, отредактировал пользователь ale10ey.)
13.12.2015 19:24:16
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #22
RE: Обращение к БД по хешу ID
В БД точно в столбце md5 у какой-нибудь записи есть значение ff8b1ed2fb2b3e5bcd505f22e94d0498 ???
Что-то странно, что ничего не выводит.
13.12.2015 19:54:46
Найти все сообщения Цитировать это сообщение
ale10ey Не на форуме
Генерал-лейтенант
*

Сообщений: 352
У нас с: Nov 2014
Сообщение: #23
RE: Обращение к БД по хешу ID
Нет, тут все нормально? еще раз скриншот, удалите потом...


Еще раз все коды на данный момент, может найдете, где ошибка или чего не хватает...

html:
Код:
<span class="skype" id="ff8b1ed2fb2b3e5bcd505f22e94d0498"><a>Скайп</a></span>
            <span class="phone" id="c39ee09269570751d5fbc347132ca200"><a>Телефон</a></span>
            <span class="mails" id="114b87930d8084c586dbfa625d3c1aa8"><a>Почта</a></span>

js:
Код:
$(document).ready(function(){
      
$(".skype>*").click(function(){
    id_elem=$(this).parent().attr("id");
    jQuery.post("../php/data.php",{id:id_elem,type:"skype"},show_skype);
});
function show_skype(data){
    $("#"+id_elem+".skype").fadeOut(500, function(){ $(this).html(data).fadeIn(500); });
}    

/* код для телефона */

/* код для почты */
  
});

data.php:
Код:
<?php
$db=mysqli_connect("localhost","-----","-----","-----");

       //$res=mysqli_fetch_array(mysqli_query($db,"SELECT skype FROM dwg_contacts WHERE id=2"));
        //echo '***'.$res[0].'***';
        
        //$res=mysqli_fetch_array(mysqli_query($db,"SELECT skype FROM dwg_contacts WHERE md5='ff8b1ed2fb2b3e5bcd505f22e94d0498'"));
        //echo '***'.$res[0].'***';  
    
if ($_POST["type"]=="skype") {
$res=mysqli_fetch_array(mysqli_query($db,"SELECT skype FROM dwg_contacts WHERE md5=".$_POST["id"].""));
$res[0]='<span>'.$res[0].'</span>';
}

if ($_POST["type"]=="phone") {
$res=mysqli_fetch_array(mysqli_query($db,"SELECT phone FROM dwg_contacts WHERE md5=".$_POST["id"].""));
$res[0]='<span>'.$res[0].'</span>';
}

if ($_POST["type"]=="mails") {
$res=mysqli_fetch_array(mysqli_query($db,"SELECT mails FROM dwg_contacts WHERE md5=".$_POST["id"].""));
$res[0]='<a>'.$res[0].'</a>';
}
echo $res[0];
?>

Может я забыл эти строчки прописать:
Код:
$md5=md5($_POST["mails"].$_POST["phone"].$_POST["skype"]);
$res=mysqli_query($db,"INSERT INTO dwg_contacts (mails,phone,skype,md5) values (".$_POST["mails"].",".$_POST["phone"].",".$_POST["skype"].",".$md5.")");
13.12.2015 20:09:13
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #24
RE: Обращение к БД по хешу ID
Короче не выдержал, сделал БД как у Вас и все коды повторил.
Ошибка как оказалась смешная и кроется в строке:
PHP код:
$res=mysqli_fetch_array(mysqli_query($db,"SELECT skype FROM dwg_contacts WHERE md5='".$_POST["id"]."'")); 

А если быть точнее, то нужны и одинарные и двойные кавычки в md5='".$_POST["id"]."' EvilEvilEvil
13.12.2015 20:34:49
Найти все сообщения Цитировать это сообщение
ale10ey Не на форуме
Генерал-лейтенант
*

Сообщений: 352
У нас с: Nov 2014
Сообщение: #25
RE: Обращение к БД по хешу ID
Да, все верно, Happy !!!

Еще вопрос. Для того чтобы сгенерировать, например skype я пользовался online генератором,
ale10ey - ff8b1ed2fb2b3e5bcd505f22e94d0498, а как тоже самое мне сделать на локальном сервере, возможно ли перевести в 16 строку без помощи онлайн "калькуляторов".

Как понимаю, строчки примерно такие:
Код:
$md5=md5($_POST["mails"].$_POST["phone"].$_POST["skype"]);
$res=mysqli_query($db,"INSERT INTO dwg_contacts (mails,phone,skype,md5) values (".$_POST["mails"].",".$_POST["phone"].",".$_POST["skype"].",".$md5.")");

или тут не все так просто ?
13.12.2015 20:47:34
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #26
RE: Обращение к БД по хешу ID
Именно эти строчки и нужны для генерации хэша.
13.12.2015 22:03:50
Найти все сообщения Цитировать это сообщение
ale10ey Не на форуме
Генерал-лейтенант
*

Сообщений: 352
У нас с: Nov 2014
Сообщение: #27
RE: Обращение к БД по хешу ID
(13.12.2015 22:03:50)Admin писал(а):  Именно эти строчки и нужны для генерации хэша.

Вот только, что-то у меня не работает...Удалил для проверки с БД данные поля md5 и данный код добавил в data.php, но поле md5 остается пустым, что не так делаю ?
13.12.2015 22:35:27
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #28
RE: Обращение к БД по хешу ID
Дело в том, что данный код не нужен в data.php.
Данный код нужен в том месте, где Вы помещаете данные в БД. Ищите INSERT запрос, вот перед ним высчитываете хэш и INSERT-ом добавляете его в БД.
13.12.2015 22:39:47
Найти все сообщения Цитировать это сообщение
ale10ey Не на форуме
Генерал-лейтенант
*

Сообщений: 352
У нас с: Nov 2014
Сообщение: #29
RE: Обращение к БД по хешу ID
Это я как полагаю, в БД вкладка SQL или можно воспользоваться SQLite менеджером.

[Изображение: tid_349_5.png]

Если нажать на вкладку INSERT, то появится строчка:

Код:
INSERT INTO `dwg_contacts`(`id`, `mails`, `phone`, `skype`, `md5`) VALUES ([value-1],[value-2],[value-3],[value-4],[value-5])

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

Или в БД вкладка INSERT это не то, что мне надо ?

Заранее благодарен.
13.12.2015 23:14:54
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #30
RE: Обращение к БД по хешу ID
Все это лучше делать на PHP! Или Вы все базы вручную через phpmyadmin набиваете? Как у Вас происходит добавление данных в БД?
Думаю, что в каком-то php-файле у Вас есть что-то вроде:
PHP код:
$res=mysqli_query($db,"INSERT INTO dwg_contacts (mails,phone,skype) values (".$_POST["mails"].",".$_POST["phone"].",".$_POST["skype"].")"); 

Так почему бы не сделать добавление md5 хэша на этапе добавления данных в БД:
PHP код:
$md5=md5($_POST["mails"].$_POST["phone"].$_POST["skype"]);
$res=mysqli_query($db,"INSERT INTO dwg_contacts (mails,phone,skype,md5) values (".$_POST["mails"].",".$_POST["phone"].",".$_POST["skype"].",".$md5.")"); 

Хотя в MySQL как и в PHP есть функция MD5() и запрос можно делать таким:
PHP код:
$res=mysqli_query($db,"INSERT INTO dwg_contacts (mails,phone,skype,md5) values (".$_POST["mails"].",".$_POST["phone"].",".$_POST["skype"].",MD5(".$_POST["mails"].$_POST["phone"].$_POST["skype"]."))"); 
14.12.2015 00:12:04
Найти все сообщения Цитировать это сообщение
Создать ответ 


Переход:


Пользователи просматривают эту тему: 1 Гость(ей)


LiveInternet
© Copyright 2011-2024 by UsefulScript.ru