PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Без описания
Поиск в теме | Версия для печати
Extazy
Отправлено: 19 Декабря, 2013 - 14:34:46
Посетитель
Покинул форум
Сообщений всего: 490
Дата рег-ции: Янв. 2010
Помог: 0 раз(а)
Чтото не то..
У меня вот такой код получился:
PHP:
скопировать код в буфер обмена
<?PHP
if ( $param ) {
if ( $param == "btcusd" ) $url = 'https://btc-e.com/api/2/btc_usd/ticker' ;
function btce_query
( $method , array $req = array ( ) ) { global $url ;
...
....
if ( $res === false ) throw
new Exception
( 'Could not get reply: ' . curl_error ( $ch ) ) ;
В итоге при запуске выдаёт ошибку:
CODE (
html ):
скопировать код в буфер обмена
Fatal error: Uncaught exception 'Exception' with message 'Could not get reply: malformed' in /var/www/onepage/data/www/site.ru/engine/modules/current_currency.php:40 Stack trace: #0 /var/www/onepage/data/www/site.ru/engine/modules/current_currency.php(46): btce_query('getInfo') #1 /var/www/onepage/data/www/site.ru/engine/classes/templates.class.php(197): include('/var/www/onepag...') #2 /var/www/onepage/data/www/site.ru/engine/classes/templates.class.php(455) : regexp code(1): dle_template->load_file('engine/modules/...', 'php') #3 /var/www/onepage/data/www/site.ru/engine/classes/templates.class.php(455): preg_replace('#\{include file...', '$this->load_fil...', 'compile('main') #5 {main} thrown in /var/www/onepage/data/www/site.ru/engine/modules/current_currency.php on line 40
Или "Could not get reply: malformed" говорит не о том, что $url пустой ?
Проблема с $url, но не пойму какая.. потму что если прописать так:
то всё работает...(Отредактировано автором: 19 Декабря, 2013 - 14:37:38)
Extazy
Отправлено: 19 Декабря, 2013 - 14:42:11
Посетитель
Покинул форум
Сообщений всего: 490
Дата рег-ции: Янв. 2010
Помог: 0 раз(а)
но ошибка именно с $url, потму что вот так работает без ошибок:
вот так код полность выглядит, только пропущены переменные key и secret, так что если вы запустите, то ничего не сработает:
PHP:
скопировать код в буфер обмена
<?PHP
if ( $param ) {
if ( $param == "btcusd" ) $url = 'https://btc-e.com/api/2/btc_usd/ticker' ;
function btce_query
( $method , array $req = array ( ) ) { global $url ;
// API settings
$key = '' ; // your API-key
$secret = '' ; // your Secret-key
$req [ 'method' ] = $method ;
$req [ 'nonce' ] = $mt [ 1] ;
// generate the POST data string
$sign = hash_hmac ( 'sha512' , $post_data , $secret ) ;
// generate the extra headers
'Sign: ' . $sign ,
'Key: ' . $key ,
) ;
// our curl handle (initialize if required)
static $ch = null ;
}
// run the query
if ( $res === false ) throw
new Exception
( 'Could not get reply: ' . curl_error ( $ch ) ) ; if ( ! $dec ) 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
}
?>
(Отредактировано автором: 19 Декабря, 2013 - 14:58:31)
Extazy
Отправлено: 19 Декабря, 2013 - 18:40:06
Посетитель
Покинул форум
Сообщений всего: 490
Дата рег-ции: Янв. 2010
Помог: 0 раз(а)
в начале кода $param содержит значение, поетому начинает выполняться код дальше.
в функции я делаю эту переменную глобальной, но почемуто переменная перестаёт иметь какоелибо значение.. поэтому следующий if($param) уже не выполняется и в итоге выдаёт ошибку:
CODE (
htmlphp ):
скопировать код в буфер обмена
Notice: Undefined variable: url in / var/ www/ onepage/ data/ www/ ccurrency. ru/ engine/ modules/ current_currency. php on line 35
Помогите
Extazy
Отправлено: 19 Декабря, 2013 - 19:04:46
Посетитель
Покинул форум
Сообщений всего: 490
Дата рег-ции: Янв. 2010
Помог: 0 раз(а)
не оч понял вопроса, но наверн вы имеете ввиду почему напрямую не подставить ссылку а место $url ?
у меня в итоге будет несколько разных урл типа:
PHP:
скопировать код в буфер обмена
if ( $param == 1) $url = "https://btc-e.com/api/2/btc_usd/ticker" ;
if ( $param == 2) $url = "https://btc-e.com/api/2/btc_usd/ticker2" ;
if ( $param == 3) $url = "https://btc-e.com/api/2/btc_usd/ticker3" ;
Поиск в теме | Версия для печати
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
Powered by ExBB FM 1.0 RC1. InvisionExBB