• Почему не работает функция?

    logpol32
    @logpol32 Автор вопроса
    Вопрос безопасности и возможности SQL инъекций решается отдельно, а никак не на этапе запроса. И явно не приведением переменной к типу int.
    //Иконка как бы намекает )
  • Почему не работает функция?

    logpol32
    @logpol32 Автор вопроса
    run through
    И? Вы это кому говорите?
    Запрос строка. Очевидно. Выше мне предлагают привести переменную к типу int. А потом объединить её со строкой.
    Зачем - спросите у человека выше. Не мой код.
    А в конечном итоге, мы всё равно получим строку - т.к. запрос есть строка.

    Мне оно надо - приводить переменную к типу инт, а потом объединять её со строкой - что приведет эту переменную к типу string? Нет. Ну я это и не делаю.
  • Почему не работает функция?

    logpol32
    @logpol32 Автор вопроса
    кажется разобрался. область видимости не та.
  • Почему не работает функция?

    logpol32
    @logpol32 Автор вопроса
    пишите хотя бы (int)$all_about_user_array[id]
    а смысл? Вы приводите значение к числу и вставляете его в строку.
    Запрос - строка. Какая разница что там в элементе массива. Это будет строкой.
  • Как правильно писать пути до файла?

    logpol32
    @logpol32 Автор вопроса
    1) $_SERVER['DOCUMENT_ROOT'] не подойдет т.к. сайт может лежать не в папке www.
    Например в папке www/1/ И тогда нужна переменная для папки, в файле настроек.
    $folder_dir='/1';
    $_SERVER['DOCUMENT_ROOT'].$folder_dir

    И при переносе сайта нужно менять переменную настроек...

    2 dirname(__FILE__). Говорят __DIR__ быстрее, но PHP >= 5.3, что почти везде.
  • Как и какие заголовки передать бирже (api биржи)?

    logpol32
    @logpol32 Автор вопроса
    Вот такой типовой код. Типовой т.к. API биржи идентичен для многих бирж.
    Код который должен работать - но не работает...
    function btce_query($method, array $req = array()) {
            // API settings
            $key = '0F46PFV9-QWTNNRDV-5Z90WTHX-SB8LBMYR-2N2RVFAD'; // your API-key
            $secret = 'Da3edfcdba19c1a41221624848d40d9bc560bc4d89n19dbjb2e1026396c685e2'; // your Secret-key
     
            $req['method'] = $method;
            $mt = explode(' ', microtime());
            $req['nonce'] = $mt[1];
           
            // generate the POST data string
            $post_data = http_build_query($req, '', '&');
     
            $sign = hash_hmac('sha512', $post_data, $secret);
     
            // generate the extra headers
            $headers = array(
                            'Sign: '.$sign,
                            'Key: '.$key,
            );
     
            // our curl handle (initialize if required)
            static $ch = null;
            if (is_null($ch)) {
                    $ch = curl_init();
                    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                    //curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; BTCE PHP client; '.php_uname('s').'; PHP/'.phpversion().')');
            }
            curl_setopt($ch, CURLOPT_URL, 'https://liqui.io/tapi/');
            curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
            curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
     
            // run the query
            $res = curl_exec($ch);
            if ($res === false) throw new Exception('Could not get reply: '.curl_error($ch));
    		/*
            $dec = json_decode($res, true);
            if (!$dec) throw new Exception('Invalid data received, please make sure connection is working and requested API exists');
    		*/
    		$dec = json_decode($res, true);
    $err = json_last_error();
    if ($err !== JSON_ERROR_NONE) throw new Exception('Invalid data received, please make sure connection is working and requested API exists ');
            return $dec;
    }
     
    $result = btce_query('getInfo');
    //$result = btce_query('Trade', array('pair' => 'btc_usd', 'type' => 'buy', 'amount' => 1, 'rate' => 10)); //buy 1 BTC @ 10 USD
     
    var_dump($result);


    Fatal error: Uncaught exception 'Exception' with message 'Invalid data received, please make sure connection is working and requested API exists ' in D:\OpenServer\domains\liqui-robot.ru\test.php:52 Stack trace: #0 D:\OpenServer\domains\liqui-robot.ru\test.php(56): btce_query('getInfo') #1 {main} thrown in D:\OpenServer\domains\liqui-robot.ru\test.php on line 52

    Строка 52
    if ($err !== JSON_ERROR_NONE) throw new Exception('Invalid data received, please make sure connection is working and requested API exists ');
  • Как сделать так, чтобы панель (при появлении) изменяла размер контента?

    logpol32
    @logpol32 Автор вопроса
    Спасибо за ваш ответ. Не совсем это. Панель+контент=высота страницы. Всегда. Без прокруток, разумеется.

    По идее контент должен уже занимать -40 пикселей по высоте, на странице. Быть под значком.
    Когда панель раскроется - контент должен изменить свой размер.
  • Как убрать смещения в выезжающей панели?

    logpol32
    @logpol32 Автор вопроса
    Спасибо. Странно, что я сам не додумался.
    очевидно же, что margin-left: -1px; и left: 0 !important;
    Но я полез искать в стили, в js код....
    И js код не мой.
  • Почему не активируются заголовки табов?

    logpol32
    @logpol32 Автор вопроса
    "У вас в первой группе табов input стоят перед label, а втором сначала все инпуты, а потом все лэйблы, селектор написан только для input:checked+label, следующий за ним."
    Одиночка Айс, спасибо, заработало.
    С id действительно бардак. (
  • Почему блоки не стоят на одной линии?

    logpol32
    @logpol32 Автор вопроса
    Ясно.
    Но до этого почему они так распологались? Я нигде не указал им vertical-align.
    И один как я понял решил расположиться внизу, а второй вверху? Точнее браузер по дефолту так решил...
    Нелогично вроде.
  • Как изменять пропорции элементов на разных разрешениях экрана?

    logpol32
    @logpol32 Автор вопроса
    А что так можно было? (с) Почитаем, спасибо.
  • Как из MySQL базы сохранить данные в excel посредством php?

    Александр Токарчук, когда я первый раз это читал - тоже забил. Все это можно написать на 1 страницу. Потом прочитал в другом месте про php excel и начал его активно использовать.
    Причем серьёзно так - для генерации отчетов в 300 колонок и 500 тыс записей.
    К сожалению, php excel не оптимален и кушает много памяти. Возможно где то есть и утечки.
    Но лучше вроде ничего пока нет. Да и если записей немного то можно особо и не парится. )
  • Как из MySQL базы сохранить данные в excel посредством php?

    Как и сказали PHP excel. Качаем, подключаем.

    Пример
    /** PHPExcel */
    include ('PHPExcel/PHPExcel.php');
    /** PHPExcel_Writer_Excel2007 */
    include ('PHPExcel/PHPExcel/Writer/Excel2007.php');
    // Create new PHPExcel object
    $objPHPExcel = new PHPExcel();
    
    //Ширина колонок по содержимому
    $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setAutoSize(true);
    $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setAutoSize(true);
    
    //первая колонка первая  ячейка
    $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(1,1,'Текст в ячейке');
    
    //Сохранение в файл
    $objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
    $objWriter->save('output_files_folder/myexcel.xlsx');
    unset($objWriter);


    Важно понимать, что чтобы ваш скрипт что нибудь создал (excel файл в папке)- ему нужны права на это действие. Помимо chmod 755 нужно ещё в консоли (putty) написать подобную команду
    chown -R www-data /var/www/output_files_folder/
    Дословно - сделай владельцем папки учетку www-data

    php скрипты выполняются от учетки www-data.
    Но когда вы закачиваете скрипты на сервер - через файлзиллу например, вы скорее всего заходите из под учетки другого юзера или даже админа.
    Зашли, создали папки, создали папку output_files_folder.
    Закачали скрипт и ждете что он создаст файл в output_files_folder. А нет.
    Владелец папки output_files_folder юзер, под которым вы её создали.
    А скрипт выполняется под учеткой www-data. Разные пользователи.
    Поэтому, пока не сделаете владельцем папки юзера (учетку) www-data ничего там не создасться/сохранится и т.д.
  • Почему не работает transition для background-image?

    logpol32
    @logpol32 Автор вопроса
    То что "Не работает и работает не будет" - я понял.
    Немного странно. Я думал - градиент это переход между двумя цветами.
    Т.е. просто два цвета. И будет как с одним цветом, так и с двумя. Но видимо нет.
    Похоже что background-image приводит всё к картинке и что там написано - есть картинка.
    Не ясно пока что делать и как изменить код. Градиенты близкие, можно даже сказать что второй градиент - "осветление" первого.
  • Как прописать путь к файлу при работе с Open Server?

    logpol32
    @logpol32 Автор вопроса
    Я не использую ip на опенсервере. Я просто пытаюсь понять как правильно задать путь.
    Я не могу задать путь, используя __DIR__
  • Как прописать путь к файлу при работе с Open Server?

    logpol32
    @logpol32 Автор вопроса
    "А навигация от корня как ни крути будет навигацией от корня."
    Согласен.

    "В чем проблема? Создайте конфиг файл, задайте переменные / константы"
    Но ресурсов то много. Ведь не один css. Картинки, другие файлы.
    Предположим, что сайт в папке 55.55.55.55/4
    Итого конфиг
    settings.php
    $site_dir='4';
    $path_to_root_site_dir = $_SERVER['DOCUMENT_ROOT']."/$site_dir/";

    Ура у нас есть пусть к "корню" нашего сайта (к папке 4). - $path_to_root_site_dir!

    А теперь надо подключить этот файл ко всем файлам, где используются картинки, css и прочие файлы.
    Главная страница

    index.php
    include_once ('settings.php'); //Некорректно!
    Постойте, мне нужен $path_to_root_site_dir! Там путь.
    Но он в settings.php. Рекурсия? 0_0
    Ну ладно. давайте так
    include_once ($_SERVER['DOCUMENT_ROOT']."/4/settings.php"); //Корректно!

    И так пропишем в каждом файле.
    Сайт переехал из папки 4 в папку 5. Меняем в каждом файле 4 на 5.
    Зачем нам settings.php? Зачем нам переменная $path_to_root_site_dir?
    Приплыли
  • Как прописать путь к файлу при работе с Open Server?

    logpol32
    @logpol32 Автор вопроса
    А может DNS дает привязку доменного имени к ip сервера?
    А сервер (htaccess) уже решает кого в какую папку направить?
    (Протоколы бывают разные, демоны тоже)

    "Пробуйте тогда $_SERVER['DOCUMENT_ROOT']" - аналогично. Имя сайта, но не папки.
    Скрипт лежит в site.ru/1, а директива дает путь site.ru.

    И варианты $_SERVER['HTTP_HOST'] и $_SERVER['DOCUMENT_ROOT'] не подходят, даже с "DNS". У меня же сайт на Open Server - site.ru.
    Ведь нет никакой разницы, как называть сайт или site.ru или 55.55.55.55.
  • Как прописать путь к файлу при работе с Open Server?

    logpol32
    @logpol32 Автор вопроса
    Нет. Ну не настолько же глупый вопрос. )
    $_SERVER['HTTP_HOST'] - Содержимое заголовка Host: из текущего запроса, если он есть.
    Хорошо, когда есть имя site.ru
    А если имени нет и есть сервер 55.55.55.55?
    У меня сервер 55.55.55.55 и в файловой системе /var/www/ много папок.
    В папке 4 мой проект. Итого для доступа нужно писать 55.55.55.55/4
    А $_SERVER['HTTP_HOST'] = 55.55.55.55
    Конечно можно прописать $_SERVER['HTTP_HOST'].'/4' но это так себе