crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

Litkevich Yuriy
  опции профиля:
сообщение 5.7.2013, 21:46
Сообщение #1


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Возникла надобность: получить доступ к БД сервере из ПО на локальной машине (написанное на С++).
Однако есть ограничение: к БД можно подключится только с локальной машины этой БД например из PHP сценария сайта.

Как сварганить на PHP и C++ "мост", может у же есть какие-то готовые решения (технологии) поддерживаемые библиотеками указанных языков?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
2 страниц V   1 2 >  
Начать новую тему
Ответов (1 - 14)
academ1c
  опции профиля:
сообщение 8.7.2013, 1:50
Сообщение #2


Новичок


Группа: Новичок
Сообщений: 7
Регистрация: 8.7.2013
Пользователь №: 3877

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 5.7.2013, 21:46) *
Однако есть ограничение: к БД можно подключится только с локальной машины этой БД например из PHP сценария сайта.


А можно подробнее по поводу подключения только с локалхоста ? Это такая политика или там Embeded ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 8.7.2013, 6:15
Сообщение #3


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


к пыху можно писать расширения - свои модули на С++. может, в эту сторону копнуть? но задача какая-то странная. настройка доступа в мускуле - дело минутное.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 8.7.2013, 17:17
Сообщение #4


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(academ1c @ 8.7.2013, 3:50) *
Это такая политика
да, это ограничения хостера обусловленное их политикой безопасности


Цитата(Iron Bug @ 8.7.2013, 8:15) *
к пыху можно писать расширения - свои модули на С++
у меня нет доступа к самому PHP, я могу только свои PHP-сценарии на сервер положить.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 9.7.2013, 6:52
Сообщение #5


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


ну, теоретически, ты можешь сделать скрипт, который будет получать запрос к базе и заполнять на основании результатов некий массив данных, а потом вызывать его из http запроса. но это извращение. :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 9.7.2013, 14:31
Сообщение #6


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


я просто с трудом представляю как это (сеть) вообще работает.
Я пока научился скачивать вебстранички с помощью программы на Qt. А тут нужно будет с помощью программы отправлять какие-то запросы, это вроде тоже есть в примерах Qt. А вот как их получать?

Вопросы одни.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 10.7.2013, 6:11
Сообщение #7


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


как-то так, например:
http://stackoverflow.com/questions/1520738...-php-doesnt-wor
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 10.7.2013, 20:08
Сообщение #8


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


ага что-то интересное
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
molchanoviv
  опции профиля:
сообщение 25.8.2013, 17:01
Сообщение #9


Старейший участник
****

Группа: Сомодератор
Сообщений: 597
Регистрация: 18.7.2008
Из: Саратов
Пользователь №: 238

Спасибо сказали: 41 раз(а)




Репутация:   5  


Пусть и с месячным опозданием, но все-же. :) Самый лучший вариант написать небольшое REST-Api на php и обращаться к нему из программы посылая соответствующие HTTP запросы(GET,PUT,PATCH,DELETE) на сервер.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 26.8.2013, 0:42
Сообщение #10


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(molchanoviv @ 25.8.2013, 19:01) *
Пусть и с месячным опозданием, но все-же
Задача не решена, так что нормально всё.


Цитата(molchanoviv @ 25.8.2013, 19:01) *
написать небольшое REST-Api на php
вот мне бы пример этого дела, а то я PHP методом научного тыка использую "если в движке моего интернет-магазина в таком-то месте сделать то-то, то это даст такой-то результат" ну и дальше по аналогии.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
molchanoviv
  опции профиля:
сообщение 26.8.2013, 12:08
Сообщение #11


Старейший участник
****

Группа: Сомодератор
Сообщений: 597
Регистрация: 18.7.2008
Из: Саратов
Пользователь №: 238

Спасибо сказали: 41 раз(а)




Репутация:   5  


А что за интернет магазин-то? На чем он крутится? Движок самописный или готовый какой? А вообще вот почитай про REST. Можешь сам реализовать такое поведение проверяя $_SERVER['REQUEST_METHOD'] на вышеуказанные методы или взять готовый фреймворк и использовать его. Суть в чем. По запросу вида GET yourserver.net/yourtable/ получаешь данные из таблицы yourtable с сервера yourserver.net Ну и соответственно помещать по запросу PUT, удалять по DELETE, обновлять по UPDATE. Ну и конечно не забудь делать это все по https если тебе важна безопастность.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 26.8.2013, 20:21
Сообщение #12


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


на OpenCart-е
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
molchanoviv
  опции профиля:
сообщение 27.8.2013, 12:47
Сообщение #13


Старейший участник
****

Группа: Сомодератор
Сообщений: 597
Регистрация: 18.7.2008
Из: Саратов
Пользователь №: 238

Спасибо сказали: 41 раз(а)




Репутация:   5  


Значит Plain PHP. Без фреймворков. Ну тогда придется написать скрипт вида db.php

<?php
if($_SERVER['REQUEST_METHOD'] == 'GET'){
//получить данные из базы
} elseif($_SERVER['REQUEST_METHOD'] == 'PUT') {
//записать в базу
} elseif($_SERVER['REQUEST_METHOD'] == 'PATCH') {
//обновить данные в базе
} elseif($_SERVER['REQUEST_METHOD'] == 'DELETE') {
//удалить данные из базы
} else {
//некорректный HTTP метод
}


Для авторизации достаточно использовать HTTP-авторизацию. В качестве формата данных удобнее всего использовать JSON.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 28.8.2013, 19:53
Сообщение #14


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


molchanoviv, можешь объяснить чем отличаются Get и Put, а то я в исходниках вижу то тот, то другой.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
molchanoviv
  опции профиля:
сообщение 31.8.2013, 13:08
Сообщение #15


Старейший участник
****

Группа: Сомодератор
Сообщений: 597
Регистрация: 18.7.2008
Из: Саратов
Пользователь №: 238

Спасибо сказали: 41 раз(а)




Репутация:   5  


GET это передача данных в URL-е. Обычно на него вешается получение информации. PUT-же очень похож на POST. Т.е. информация передается не в URL-е а в самом теле запроса. Обячно на PUT вешают создание информации на сервере. Вот в вики объясняются методы HTTP
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V   1 2 >
Ответить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 10.4.2025, 13:54