0

YouTube の URL から ID を取得する関数に取り組んでいます。関数は機能します。

Function getYouTubeID($URL){
    $YouTubeCheck = preg_match('![?&]{1}v=([^&]+)!', $URL . '&', $Data);
    If($YouTubeCheck){
        $VideoID = $Data[1];
        Echo $VideoID;
    }
}

私にとってうまくいかない唯一の部分は、フォーム送信時にそれを呼び出そうとしているときです。

<form action="<?php If(IsSet($_POST['submit'])){ 
              If(!$_POST['video_id'] == NULL){
                  $VideoID = getYouTubeID($_POST['video_url']); 
                  Header('Location: /watch?v='.$VideoID); }} ?>" method="POST">

独自のファイル (test.php) で関数を呼び出すことができます。

Function getYouTubeID($URL){
    $YouTubeCheck = preg_match('![?&]{1}v=([^&]+)!', $URL . '&', $Data);
    If($YouTubeCheck){
        $VideoID = $Data[1];
        Echo $VideoID;
    }
}

getYouTubeID('http://www.youtube.com/watch?v=example');

そして、それは「例」を返しますが、前述のように、フォーム送信を通じて、またはそれを含めようとしても呼び出すことはできません(「filewiththefunction.php」を含めます)。

どんな助けでも大歓迎です、そしてあなたの時間をありがとう。

4

1 に答える 1

2

フォーム アクションで POST をチェックする if 条件を配置しても何も実行されない場合は、次のようにする必要があります。

基本的な例

form action="someting.php">
<input type="text" name="video_url" value="" />
<input type="submit" name="Show" value="Show" />
</form> 

次に、something.phpで

<?php 
if(isset($_POST['submit'])){
 $VideoID = getYouTubeID($_POST['video_url']); 
 header('Location: /watch?v='.$VideoID); 
}
?>
于 2013-05-31T03:25:35.103 に答える