我有一个带有IP摄像头录像的网站 - 用户可以登录并查看它们。我正在使用VLC在网站上显示它们:
$(this).closest(".recording_wrapper").find(".recording_preview").append(
'<div class="embed_vlc_wrapper">' +
'<embed type="application/x-vlc-plugin" pluginspage="http://www.videolan.org" version="VideoLAN.VLCPlugin.2"' +
'version="VideoLAN.VLCPlugin.2"' +
'target="../PHP/get_recording.php?file=' + $(this).closest(".recording_wrapper").attr("file") + '&camid=' + $(this).closest(".recording_wrapper").attr("camera_id") + '"' +
'pluginspage="http://www.videolan.org"' +
'/>' +
'</div>'
);
加载上述代码后,用户已登录并设置了所有会话变量。遗憾的是,get_recording.php
无法识别现有会话,并尝试在调用session_start()
函数时创建新会话。例如,如果我将此代码添加到我的网页:
/* That's inline PHP code on my website, the session is already started */
error_log(session_id());
此代码发送到get_recording.php
脚本:
if(!isset($_SESSION)){
session_start();
}
error_log(session_id());
我会得到不同的会话ID。我怎么解决这个问题?我需要以某种方式将会话ID从我的网页传递到get_recording.php
脚本,而不向用户显示(即将其包含在目标URL中)。
我想在登录时将其上传到MySQL数据库,然后在get_recording.php
脚本中下载,但我意识到这没有意义 - 我仍然需要将它与现有的会话ID进行比较,这个脚本不知道。
我还读到了将它传递给cookie,但在这种情况下它是否可能? VLC插件可以将cookie传递给另一个脚本吗?