Я начал использовать AlchemyAPI ключ для извлечения данных JSON / XML из URL. Клавиша API allmy url api прекрасно работает, когда вводится вместе с запрашиваемым URL, но я хотел, чтобы часть URL приходила со стороны пользователя, поэтому сначала я создал форму со следующим кодом:
<form method="post" class="SearchCSS" action="/NENSearch.php?go" id="categorizer">
<h1>Enter your Queries</h1>
<input type="text" name="Search" placeholder="Enter the article URL">
<input type="submit" value="Search">
</form>
Затем с помощью PHP передал введенный пользователем URL-адрес в конечную точку API-интерфейса алхимии и сохранил данные json в переменной, а затем отобразил проанализированные данные, используя следующий код (проблема: код фактически ничего не отображает):
<?php
echo "this works here";
if(isset($_POST['submit'])){
if(isset($_GET['go'])){
if(preg_match("%^((http?://)|(www\.))([a-z0-9-].?)+(:[0-9]+)?(/.*)?$%i", $_POST['Search'])){
$url=$_POST['Search'];}
echo $url;}
$response = file_get_contents("http://gateway-a.watsonplatform.net/calls/url/URLGetCombinedData?extract=page-image,entity,keyword,taxonomy&apikey=1f324507a9d516d9429e14f970ccc83de9df2&showSourceText=1&sentiment=1&outputMode=json"ations=1&url='.$url.'");
$response = json_decode($response);
echo $response;}
echo "<br/> this is not working";
?>
Основной URL-адрес alchemyAPI, который я использовал, выглядит следующим образом (url drupal добавлен в конце):
http://access.alchemyapi.com/calls/url/URLGetRankedTaxonomy?apikey=1f324507a9d51694a29e14f970ccc83de9df2&outputMode = JSONP&knowledgeGraph = 1&экстракт = таксономия&URL = https: //www.drupal.org/node/2148541
Я только начал работать с API, и любая помощь в отображении разобранных данных json в html-форму будет очень полезна. Заранее спасибо. 🙂
«(Проблема: код на самом деле ничего не отображает)»
Это потому, что все, что находится внутри этого условного оператора, не будет выполнено:
if(isset($_POST['submit'])){...}
Из-за того, что нет входных данных с атрибутом name «submit».
Что вам нужно сделать, это назвать входные данные вашего отправителя:
<input name="submit" type="submit" value="Search">
Если бы отчеты об ошибках были настроены на отслеживание и отображение в вашей системе, это привело бы к появлению неопределенного индекса для отправки уведомления.
Ссылка:
Также убедитесь, что $_GET['go']
правильно заполняет Отчеты об ошибках также сообщат вам, если это так или нет.
Примечание:
Воспользовавшись else{...}
против вашего открытия if{...}
условное заявление, загорелось бы.
Вы также должны проверить против $_POST['Search']
для контента, если он установлен или не пуст.
Других решений пока нет …