如何从显示的YouTube视频链接中获取jQuery变量到PHP以发送到数据库?

时间:2014-07-26 15:25:21

标签: php jquery youtube youtube-api youtube-javascript-api

您好,我正在制作jQuery YouTube搜索和显示网络应用程序,我需要使用PHP将特定视频的链接发送到数据库。

在应用程序中,用户搜索视频,并使用“id”变量将该视频的唯一代码插入到设置的YouTube链接中。我想捕获完整的链接(包括唯一的id)并将其放入数据库而无需打开新页面(我认为这就是AJAX的工作方式)。

以下是一些类似问题的链接,但它们对我没用。 (getting youtube video id the PHPHow do I find all YouTube video ids in a string using a regex?https://stackoverflow.com/questions/19977278/how-to-get-php-data-in-javascriptData transfer from JavaScript to PHPhttp://www.webdeveloper.com/forum/showthread.php?249863-pass-jquery-value-to-php-variable(对于大量的链接感到抱歉,Stack告诉我如果它们相似而包含它们,不起作用))

到目前为止,这是使其工作的代码。

<script type="text/javascript">
//on thumbnail click
$videoDiv.click(function(e) {
    displayVideo(entry.media$group.yt$videoid.$t, entry.title.$t);
});


//Display the video
function displayVideo(id, title) {
//embed player
    swfobject.embedSWF('http://www.youtube.com/e/' + id + '?enablejsapi=1&playerapiid=ytplayer&autoplay=1',
    'video-placeholder', '544', '408', '9.0.0', null, null, { allowScriptAccess: "always" },
    { id: "youtubevideo" } );
}
</script>

显然,这不是整个功能,但希望它应该足够了。

请帮助我,我已经没有地方可以看了。

嗨Niklas,

感谢您回答我,我已经尝试过了,事实证明我的代码有点复杂。

我的大学项目还需要将信息发送到视频所在的页面,目前我在一个页面上有用户的表单以及搜索YouTube的代码并显示用户的信息以及视频下一个(外部)页面。

不幸的是,AJAX仍然是我尚未学习的语言之一,所以你链接我的文档没有多大意义。

我的代码非常复杂,因为它使用了YouTube API以及JavaScript,jQuery和PHP。用于搜索YouTube的主要js文件,一旦用户点击缩略图,它就会启动displayVideo功能,该功能还包含上一页的信息。

我无法在选择视频后将用户重定向到新页面,只是为了将ID转换为PHP,因为当用户重定向回YouTube表单时,这会擦除第一个表单中的数据。 / p>

我希望你能帮助我。

1 个答案:

答案 0 :(得分:0)

<强>答案

哎呀,知道我明白你在问什么。你会做这样的事情:

<script type="text/javascript">
$(function() {
    //on thumbnail click
    $videoDiv.click(function(e) {
        var videoURL = displayVideo(entry.media$group.yt$videoid.$t, entry.title.$t);
        $.post('url-to-your-php-file', {videoURL: videoURL}, function(response) {
            // Do stuff with the response given/echoed by the PHP file
        });
    });


    //Display the video
    function displayVideo(id, title) {
        //embed player
        var videoURL = 'http://www.youtube.com/e/' + id + '?enablejsapi=1&playerapiid=ytplayer&autoplay=1';
        swfobject.embedSWF(videoURL,
        'video-placeholder', '544', '408', '9.0.0', null, null, { allowScriptAccess: "always" },
        { id: "youtubevideo" } );
        return videoURL;
    }
});
</script>

希望这会有所帮助并祝你好运!


在修改问题之前回答

我不会为你编写代码,但你的想法是对的,我会给你一些可能有帮助的链接。您需要对PHP文件进行AJAX调用,该文件会保存到数据库的链接。

AJAX致电

你正在使用jQuery,它使AJAX调用变得非常容易。看看jQuery .ajax() documentation。虽然在这种情况下它是一个非常小而且“非高级”的调用你需要制作,但速记包装函数.post()对你来说很有用。

检索PHP中的链接

之后,您可以使用全局$_POST variable检索PHP中的链接。

添加指向数据库的链接

要将其添加到数据库,我建议使用PHP PDO library进行连接和查询。

希望这会有所帮助,并且毫不犹豫地询问您是否有任何想法!