PHP函数赢得';我不准备提交表格

PHP函数赢得';我不准备提交表格,php,youtube-api,Php,Youtube Api,我一直在开发一个从YouTube URL获取ID的函数。该函数起作用,这是 Function getYouTubeID($URL){ $YouTubeCheck = preg_match('![?&]{1}v=([^&]+)!', $URL . '&', $Data); If($YouTubeCheck){ $VideoID = $Data[1]; Echo $VideoID; } } 唯一对我不起作用的部分是当我

我一直在开发一个从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">
这将返回“example”,然而,正如前面提到的,我不能通过表单提交调用它,甚至不能尝试包含它(包括'filewiththefunction.php')


非常感谢您的帮助,谢谢您抽出时间

如果检查表单中的POST操作的条件无效,您应该执行以下操作:

基本示例

form action="someting.php">
<input type="text" name="video_url" value="" />
<input type="submit" name="Show" value="Show" />
</form> 
formaction=“someting.php”>
然后在something.php中

<?php 
if(isset($_POST['submit'])){
 $VideoID = getYouTubeID($_POST['video_url']); 
 header('Location: /watch?v='.$VideoID); 
}
?>


似乎没有输出任何内容。需要将中的“操作”字段设置为浏览器向其发送帖子信息的url。另外,
header()
必须出现在任何输出到浏览器之前,否则它不会做任何事情。@AlexGittemeier嗯,我根据你的例子对代码做了一些修改,它让我更进一步,所以谢谢:)随时:)另外,Sudhir根据我的评论给出了答案,它比我说得更清楚。谢谢,这解决了问题。我很感激:D
<?php 
if(isset($_POST['submit'])){
 $VideoID = getYouTubeID($_POST['video_url']); 
 header('Location: /watch?v='.$VideoID); 
}
?>