2016-06-21 3 views
0

Я кодировал запрос отправки cURL для входа в систему, чтобы получить токен. Сценарий предназначен для удаленного входа в систему, получения маркера через preg_match, а затем отправки запроса GET на другой URL, используя токен preg_matched.Переменная исчезающая после добавления текста

Товарный знак представлен в виде строки, например. ABCDEFGHIJK. Во втором запросе GET токен разрешен как: Разрешающая способность: ABCDEFGHIJK

Однако после получения маркера с первого запроса на отправку и добавления в слова «Ответчик авторизации» токен исчезает.

<?php 
//Login in Remotely 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, 'URL'); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
curl_setopt($ch, CURLOPT_POST,   1); 
curl_setopt($ch, CURLOPT_POSTFIELDS,  'POST DATA'); 
curl_setopt($ch, CURLOPT_HTTPHEADER,  array('Content-Type: application/json')); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); // On dev server only! 
$result = curl_exec($ch); 
curl_close($ch); 

//Parse Token 
preg_match('#"phoenixAccessToken":"(.*)","phoenixExpiresIn#',$result,$matches); 
echo $matches[1]; //This returns ABCDEFGHIJK 

//Write authorization (Token returns a 0 now.) 
$authorization = 'Authorization Bearer: ' & $matches[1]; 
echo $authorization; //This returns a 0 
?> 

эхо $ матчей [1] возвращает маркер требуется прекрасно, но работает эхо 'Authorization Носителем:' & $ матчей [1]; возвращает 0 вместо авторизационного носителя: ABCDEFGHIJK.

Почему это так? Нужно ли вообще фиксировать переменную так, чтобы она была статичной?

Спасибо!

+0

Вы должны использовать "." вместо «&» при конкатенации строки для переменной $ authorization. – daker

+0

Omgosh не может поверить, что я даже не понял, что правильно :(Спасибо за вашу помощь! – user2587774

ответ

0

Использование. вместо &.

. просто добавляет его.

Смежные вопросы