Анализ личности PHP

<?php
  $curl = curl_init();
     $post_args = array('body' => $data );
     $header_args = array(
         'Content-Type: text/plain',
         'Accept: application/json'
     );
     curl_setopt($curl, CURLOPT_POST, true);
     curl_setopt($curl, CURLOPT_POSTFIELDS, $post_args);
     curl_setopt($curl, CURLOPT_HTTPHEADER, $header_args);
     curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
     curl_setopt($curl, CURLOPT_USERPWD,"'xxx':'xxx'");
     curl_setopt($curl, CURLOPT_URL, "https://gateway.watsonplatform.net/personality-insights/api/v2/profile");
     curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

     $result = curl_exec($curl);

     curl_close($curl);

     $decoded = json_decode($result, true);
     ?>

Я хочу использовать IBM Bluemix Personality Insights с php curl и получаю следующее сообщение об ошибке: Undefined variable: data Что мне не хватает? Как мне настроить эту переменную, как передать текст, который я хочу проанализировать?


person Demotivated    schedule 11.09.2016    source источник


Ответы (1)


В этом php-коде переменная $data вы просто назначаете $post_args['body']. Я думаю, вы используете в сообщении, поэтому просто попробуйте, если вы получили что-то из URL-адреса, чем

$post_args = array('body' => $_POST['data']) ; 

или просто установите какое-то значение, если вы отправляете по URL-адресу

$data = 'Your real data which you want to send in url  ' ; than use in array .
person gaurav    schedule 11.09.2016
comment
Я просмотрел Интернет и обнаружил, что не хватает многих файлов. почему ibm не предоставила php-пример личностного анализа, все еще неясно - person Demotivated; 11.09.2016
comment
Я просто попробовал ваше предложение, и теперь ошибки нет. Проблема в том, что он ничего не отображает в html.how? - person Demotivated; 11.09.2016
comment
попытаться var_dump($result) - person gaurav; 11.09.2016
comment
Это означает, что ваша функция curl_exec() не работает [php.net/manual/en/function .curl-exec.php]. - person gaurav; 12.09.2016
comment
4-й пример, который вы мне прислали и который был собран месяц назад, проверьте эту страницу: github.com/eciggaar/watsonpi-php/blob/master/watson_pi.php - person Demotivated; 12.09.2016
comment
Я застрял на: // $ watsonPi = $ services_json [‹servicename›] [0] [учетные данные]; ?? что такое имя службы? // Инициализация Curl для выполнения REST-вызова службы Watson // Получить поле textarea из запроса POST // Установить аргументы сообщения для вызова - person Demotivated; 12.09.2016
comment
вы попробуете этот файл, который в шпаргалке (github.com/ eciggaar / watsonpi-php / blob / master / cheatsheet /) это объясняет лучше, чем этот файл. Во-вторых, ваш index.html файл имеет форму с тегом textarea, который они отправляют в watson_pi.php, поэтому теперь ваша переменная данных - $data = $_POST['txtarea']. Мое предложение - вы можете попробовать заменить файл в атрибуте действия в index.html на watsonpi-snippet.php попробуйте этот файл - person gaurav; 12.09.2016
comment
исходный текст начинается с $ data .... Я удаляю $ data = $ _POST [txtarea]; и замените его на $ data = 'some text'; все же он повторяет необработанный php, начиная с $ data и ниже - person Demotivated; 12.09.2016
comment
Что это показывает, когда ты var_dump($result) сейчас - person gaurav; 12.09.2016
comment
Я не вставлял его, так как у него есть эхо, но удивительно, почему код не запускается полностью, до $ data, тогда весь php печатается как текст - person Demotivated; 12.09.2016
comment
Я наконец-то запустил его, вам нужно изменить index.html на .php, и теперь он отображает null. - person Demotivated; 13.09.2016
comment
в index.html нет кода php, так почему мы должны менять, но он работает для вас - person gaurav; 13.09.2016
comment
файл сейчас запускается, но он отображает null, и я не знаю почему? Я даже пытаюсь установить $ data = 'some string'; и он все еще повторяет ноль. Серьезно, я не понимаю, где, черт возьми, проблема ... - person Demotivated; 13.09.2016