Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > OpenWRT/LEDE

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.03.2013, 16:29   #51
Bulatovor
Senior Member
 
Регистрация: 20.01.2013
Адрес: Уфа
Сообщений: 444
Вес репутации: 799
Bulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond repute
По умолчанию

хостинг на 2domains.ru

файл .htaccess
PHP код:
DirectoryIndex index.shtml

RemoveHandler 
.php .htm .html
AddHandler application
/x-httpd-php .php .htm .html
AddType application
/x-httpd-php .js
AddHandler x
-httpd-php5 .js

<FilesMatch "\.(js|php)$">
SetHandler application/x-httpd-php
</FilesMatch
может в него чего добавит надо?

От тщеславия завел себе доменное имя Bulatovor.ru пока экспериментирующую там, понятно что когда система будет работать она будет перенесена на локальный сервер, а домен использован под другие нужды.
Странно, щас для примера хотел показать как выглядит твой код на кнопку, все заработал -значит где то ошибка в кодах которые я пытался вставлять
Bulatovor вне форума   Ответить с цитированием
Старый 23.03.2013, 21:11   #52
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

Честно говоря, я не знаток html
Использую готовые заготовки и пытаюсь подогнать под себя
Admin вне форума   Ответить с цитированием
Старый 23.03.2013, 22:26   #53
Bulatovor
Senior Member
 
Регистрация: 20.01.2013
Адрес: Уфа
Сообщений: 444
Вес репутации: 799
Bulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond repute
По умолчанию

Я тоже так же, но проблема разрешилась, оказывается не правильно настроил права исполнения PHP на сервере, попросил техподдержку -они поправили, вот еще один из доводов почему все-таки сначала разместил хостинг на платном ресурсе -есть кому помочь, локальный сервер настраивал сам бы долго. Мысль пока такая- обмен не с портом, а с MySQL для начала просто табличка из двух полей -ID выключателя и состояние. ID в форме это имя кнопки и при каждом нажатии состояние меняется с 0 на 1 и наоборот. Так сказать учеба через решение конкретных задач. Затем соответственно изменение внешнего вида кнопки, но это уже просто -примеров куча
Bulatovor вне форума   Ответить с цитированием
Старый 24.03.2013, 14:26   #54
metaforos
Member
 
Регистрация: 17.03.2012
Адрес: Мариуполь (UA)
Сообщений: 72
Вес репутации: 0
metaforos is on a distinguished road
По умолчанию

Я раньше делал с использованием MySQL. Посмотри - http://compcar.ru/forum/showthread.p...ll=1#post94283
metaforos вне форума   Ответить с цитированием
Старый 24.03.2013, 15:46   #55
Bulatovor
Senior Member
 
Регистрация: 20.01.2013
Адрес: Уфа
Сообщений: 444
Вес репутации: 799
Bulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond repute
По умолчанию

Цитата:
Сообщение от metaforos Посмотреть сообщение
Я раньше делал с использованием MySQL. Посмотри - http://compcar.ru/forum/showthread.p...ll=1#post94283
Спасибо, очень полезно. "ВОт тут его и поджидала засада" -я так понимаю с внешнего хостинга к порту компа да еще и за NAT подключится сложновато. Придется все ж переходить на локальный в свое время.
Bulatovor вне форума   Ответить с цитированием
Старый 24.03.2013, 19:50   #56
metaforos
Member
 
Регистрация: 17.03.2012
Адрес: Мариуполь (UA)
Сообщений: 72
Вес репутации: 0
metaforos is on a distinguished road
По умолчанию

Я использовал локальный на Денвере. Сейчас у меня Raspberry PI с выделенным IP и ардуинка на нем висит.
metaforos вне форума   Ответить с цитированием
Старый 26.03.2013, 09:38   #57
Bulatovor
Senior Member
 
Регистрация: 20.01.2013
Адрес: Уфа
Сообщений: 444
Вес репутации: 799
Bulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond repute
По умолчанию

Пока сделал считывание из базы данных состояния кнопки и соответственно картинка состояния http://bulatovor.ru/SwitchAll.shtml.
Не могу записать в базу данных точнее передать значения формы
SwitchAll.shtml
PHP код:
 <form method="get" action="php/MySQL.php" >

        <?php if ($lightOne == '1') { ?>
            <img src="images/On.png">
        <?php } else { ?>
            <img src="images/Off.png">
        <?php ?>

        <button class="btn1" button value="<?php if ($lightOne == '1'){ ?>0<?php } else { ?>1<?php ?>" type="submit" name="S1">Свет <?php if ($lightOne == '1') { ?>включен<?php } else { ?>выключен<?php ?></button>
    </form>
MySQL.php
PHP код:
<?php

// Выполняем все команды файла config.php
include ('config.php');
// Обновляем данные
$result mysql_query ("UPDATE switch SET Zn=$_GET['value'] WHERE ID=$_GET['name']");
// header("Location: ".$_SERVER['HTTP_REFERER']);

?>
Если в PHP вместо $_GET['value'] $_GET['name'] ставлю сразу значения соответственно 1 и S1? то запись в базу данных происходит, а через Get не передает.

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


Нашел вот такой выключатель http://bulatovor.ru/SwitchHall.shtml хочу его уменьшит и использовать, уж очень красиво и без единого рисунка, все командами

Последний раз редактировалось Bulatovor; 26.03.2013 в 10:28.
Bulatovor вне форума   Ответить с цитированием
Старый 26.03.2013, 12:17   #58
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

Цитата:
Нашел вот такой выключатель http://bulatovor.ru/SwitchHall.shtml хочу его уменьшит и использовать, уж очень красиво и без единого рисунка, все командами
Прикольный выключатель!

Цитата:
Если в PHP вместо $_GET['value'] $_GET['name'] ставлю сразу значения соответственно 1 и S1? то запись в базу данных происходит, а через Get не передает.
тогда может быть попробовать считать в $mydata=$_GET['value']; и из $mydata записать в базу?
Admin вне форума   Ответить с цитированием
Старый 27.03.2013, 10:31   #59
Bulatovor
Senior Member
 
Регистрация: 20.01.2013
Адрес: Уфа
Сообщений: 444
Вес репутации: 799
Bulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond repute
По умолчанию

Все справился правда с большой помощью в написании PHP с профильного форума, но формы крутил сам. Ошибка оказалась в неправильном использовании мною форм. А в организации взаимодействия с базой данных ребята помогли, даже больше чем ожидал -типа красивого оформления и минимальной защитой от взлома базы
Итого - сделано все на оформлении выложенном Admin, состояние кнопки определяется значением в базе данных(пока на странице даже отражаются эти значения), нажатие меняет на противоположное, автообновление страницы пока убрал, буду докручивать обновление только по внешнему изменению базы, файл CSS не выкладываю, я его не менял.
Выглядит теперь так http://bulatovor.ru/SwitchAll.shtml, 1 -ая кнопка соответственного первого стиля, вторая второго
файл обработчик передачи значения MySQL.php
PHP код:
 <?php

// Подключаемся к БД
$domain '************'//это переменная в которую помещается адрес сайта на котором создана БД.
$db_name '*********';          //это переменная в которую записывается имя БД.
$db_user '**********';          //переменная в которую заноситься имя пользователя БД.
$db_pass '************';           //переменная для хранения пароля пользователя БД.
$db_loc 'localhost';  //переменная с полным адресом сервера на котором находится БД. Полный адрес используется вместо выражения "localhost", которое допускается на многих хостингах. 
// Пытаемся соединиться с сервером базы данных MySQL
$db = @mysql_connect($db_loc$db_user$db_pass);
//Проверяем, удачно ли прошло подключение
if (!$db) {
    echo( 
'<center><p><b>Невозможно подключиться к серверу базы данных !</b></p></center>');
    exit();
}
//Проверяем доступность нужной БД
if (!@mysql_select_db($db_name$db)) {
    echo( 
'<center><p><b>База данных ' $db_name ' недоступна!</b></p></center>');
    exit();
}
$value mysql_real_escape_string($_GET['Zn']); // защищаем передаваемые сведения от SQL иньекций, говорят надо чтоб не перехватывали данные
$name mysql_real_escape_string($_GET['Switch']);
$result mysql_query("UPDATE `switch` SET `Zn`='{$value}' WHERE `ID`='{$name}'");
header("Location: " $_SERVER['HTTP_REFERER']); // записываем изменения в БД
?>
ну и сама HTML обновление вида кнопок и формы передачи значений
PHP код:
<!**************************Получение сведений из базы данных и присвоение их переменным***********************>
<?php
// Выполняем все команды файла для подключения к базе данных config.php
include ('php/config.php');
/*Делаем запрос к БД*/
$result mysql_query("SELECT Zn FROM switch WHERE ID='S1'",$db);
/*Преобразовываем результат в массив*/
$myrow mysql_fetch_array($result);
/*делаем выборку столбца, присвоение переменной,выводим результат на экран цифрой для отладки*/
echo $lightOne=$myrow['Zn'];
/*Повторяем для выключателя 2*/
$result mysql_query("SELECT Zn FROM switch WHERE ID='S2'",$db);
$myrow mysql_fetch_array($result);
echo 
$lightTwo=$myrow['Zn'];
?>
    
      <!**********************************КНОПКА 1 ***********************************>
</form>
    <form action="php/MySQL.php" method="get" >
            <?php if ($lightOne == '1') { ?>
            <img src="images/On.png">
        <?php } else { ?>
            <img src="images/Off.png">
        <?php ?>
<input type="hidden" name="Switch" value="S1">
<button class="btn1" value="<?php if ($lightOne == '1'){ ?>0<?php } else { ?>1<?php ?>" type="submit" name="Zn">Свет <?php if ($lightOne == '1') { ?>включен<?php } else { ?>выключен<?php ?></button>
</form>

      
 <!**********************************КНОПКА 2 ***********************************>
</form>
    <form action="php/MySQL.php" method="get" >
            <?php if ($lightTwo == '1') { ?>
            <img src="images/On.png">
        <?php } else { ?>
            <img src="images/Off.png">
        <?php ?>
<input type="hidden" name="Switch" value="S2">
<button class="btn2" value="<?php if ($lightTwo == '1'){ ?>0<?php } else { ?>1<?php ?>" type="submit" name="Zn">Свет <?php if ($lightTwo == '1') { ?>включен<?php } else { ?>выключен<?php ?></button>
</form>
Все остальные вопросы , типа организации обмена между MySQL-портом компа-Arduino, уже будут выходить за рамки данной темы и будут рассмотрены в других темах, дабы не захламлять простую кнопку

З.Ы. Чтобы было легче разбираться - база данных имеет таблицу Switch с двумя столбцами ID - где названия переключателей типа S1,S2.... и Zn - значения состояния этих выключателей 0 и 1

Последний раз редактировалось Bulatovor; 27.03.2013 в 10:35. Причина: Разъяснение
Bulatovor вне форума   Ответить с цитированием
Старый 25.08.2013, 19:18   #60
Sany531
Junior Member
 
Регистрация: 04.03.2013
Сообщений: 6
Вес репутации: 0
Sany531 is an unknown quantity at this point
По умолчанию

а что находится в файле config.php
Sany531 вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 01:46. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика