0

ねえ、これは簡単な修正だと確信していますが、それは私を狂わせています。

私はYouTube APIを使用しており、ユーザーが生成した検索用語を次のようにURLに投稿しようとしています:

<form action="pagination.php" method="post">
<input style="width:50%" type="text" name="search_term">
<input type="submit" value="Submit">
</form>

<?

$search_term = $_POST['search_term'];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://gdata.youtube.com/feeds  
/api/videos?q='.$search_term.'&safeSearch=none&orderby=viewCount&v=2&alt=json&start- 
index=75&max-results=50');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$output = curl_exec($ch);
curl_close($ch); 

$data = json_decode($output,true);

$info = $data["feed"];
$video = $info["entry"];
$nVideo = count($video);



echo "<ul style='float:right'>";
foreach($video as $video) {
echo '<img src="'.$video['media$group']['media$thumbnail'][0]['url'].'"><br><br>';
$title = $video['title']['$t'];
$video_id = $video['media$group']['yt$videoid']['$t'];
echo '<a href="search_4.php?video_get_id='.$video_id.'">'.$title.'</a>';
echo '<br>';

このコードを実行しても何も起こりませんが、次のように手動で $search_term に値を割り当てると:

$search_term = 'baseball';

すべてが完璧に機能します。

どんな助けでも大歓迎です!

4

1 に答える 1

0

いくつかの構文エラーが見つかりました。次のコードは私にとってはうまくいきます。注: ファイル名を変更して、このファイルをテストし、独自のファイルのコードを更新できるようにします。わざとかもしれませんが、コードが実行されるため、最初は常に「用語なし」で取得します。

ENTER terms and press Submit button
<form action="ytcurltest1.php" method="post">
<input style="width:50%" type="text" name="search_term">
<input type="submit" value="Submit">
</form>

<?PHP
$search_term = $_POST['search_term'];
$startIndex = 1;
$maxResults = 25;
$ch = curl_init();
$url =  'http://gdata.youtube.com/feeds/api/videos?q='
     . $search_term
     . '&safeSearch=none&orderby=viewCount&v=2&alt=json'
     . '&start-index=' . $startIndex
     . '&max-results=' . $maxResults;
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$output = curl_exec($ch);
curl_close($ch); 

$data = json_decode($output,true);
if ( count($data) == 0 )
  {
    echo 'NO RESULTS FOUND. ENTER other terms';
    RETURN;
  }
$info = $data["feed"];
$video = $info["entry"];
$nVideo = count($video);

echo "<ul style='float:right'>";
foreach ($video as $video)
    {
     echo '<img src="'.$video['media$group']['media$thumbnail'][0]['url']
          .'"><br><br>';
     $title = $video['title']['$t'];
     $video_id = $video['media$group']['yt$videoid']['$t'];
     echo '<a href="search_4.php?video_get_id='.$video_id.'">'.$title.'</a>';
     echo '<br>';
   }
?>
于 2013-05-28T06:43:42.867 に答える