0

YouTubeの動画を検索してフロントページに表示する検索機能があります。YouTubeと同じように、自分のサイトに別のページを作成して、動画をクリックすると新しいページに移動し、そこに動画を表示できるようにします。これはまだ私のウェブサイトの一部です。

検索を行うことができるsearch.phpと、ビデオを見ることができるはずのvideo.phpがあります。

私は私のvideo.phpにこれを持っていました:

    <a href='video.php?var=$video_id['v']'>Data link</a>

$ video_id ['v']=YouTubeページのURLが含まれています。

そして私のvideo.phpに私は持っています:

    <?php
      echo $_GET['var'];
    ?>

varの値は"var"と同じです。取得するはずだったURLではありません。私が何をすべきか知っていますか?

4

3 に答える 3

3

あなたのsearch.phpで

echo "<a href='video.php?var=".urlencode($video_id['v'])."'>Data link</a>";

これにより、完全な URL (他の & と ? を含む) を変数として URL に追加できます。

于 2012-12-10T15:46:26.497 に答える
1
$url = sprintf('video.php?var=%s', $video_id['v']);
<a href="<?php echo $url; ?>">Data link</a>
于 2012-12-10T15:46:19.947 に答える
1

あなたが持っているページ$video_id['v']、つまりsearch.phpを意味します。video.phpでチェックする前に、最初にそれを調べて、目的の値を取得しているかどうかを確認してください

そのアンカータグの直前にprint_r($video_id['v'])print_rはPHPのデバッグ関数です

今、私は必要な修正を加えてあなたが持っているスタイルを維持しています. あなたはいくつかの間違いを犯しました。以下で説明しています。

    <a href="video.php?var=<?php echo urlencode($video_id['v'])?>">Data link</a>
  1. HTML 属性、つまり href は単一引用符ではなく二重引用符で囲む必要があります。
  2. 引用符の囲みを保持しませんでした。2 つの単一引用符が衝突して壊れます。
  3. 純粋な HTML 内では、解析されない PHP の変数を使用しました。
  4. そこにPHPがあったとしても、内部の変数を解析しない一重引用符を使用しました。
  5. URL をパススルーするには、URL をエンコードする必要があります (つまり、$_GET)。
于 2012-12-10T16:17:34.847 に答える