我遇到了一些小问题,我有这个javascript,来更新VLC webplugin的流,现在我真的想在我的数据库中插入一些数据,记录有多少人正在观看。
这是我的javascript代码 -
function changeVideo(filename) {
var vlc = document.getElementById("tv");
var options = [":http-user-agent=Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25"];
var URL = filename;
var AddVid = vlc.playlist.add(URL, "", options);
vlc.playlist.playItem(AddVid);
}
这是我激活功能的底部链接
<a href="javascript:void();" onclick="javascript:changeVideo('<?=$row["link"] ?>');"><img src="./70x/<?=$row["image"] ?>" alt="<?=$row["name"] ?>" style="width:70px;height:auto;"></a></a>
如何获取数据库中的名称和时间戳? : - /
答案 0 :(得分:1)
首先感谢Maze Runner提供的ajax处理主要代码。所以这就是我为了让它工作而安全所做的。
以下是播放器页面CREDIT TO Maze Runner
中的代码function changeVideo(filename,name) {
// here is the ajax call
xmlhttp=new XMLHttpRequest();
xmlhttp.open("GET","infoSaver.php?name=" + name,true);
xmlhttp.send();
var vlc = document.getElementById("tv");
var options = [":http-user-agent=Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25"];
var URL = filename;
var AddVid = vlc.playlist.add(URL, "", options);
vlc.playlist.playItem(AddVid);
}
这是我的infoSaver.php
的代码if (isset($_GET['id']) && is_numeric($_GET['id'])) {
$id = $_GET['id'];
//check if id is vallid
$query1 = mysqli_query($db, "select * from channels WHERE active=1 AND `playid` = '$id' LIMIT 1");
while($row = mysqli_fetch_assoc($query1))
{
$playid = $row["playid"];
}
if ($id == $playid) {
// get the rest of the info
$ip = $_SERVER['REMOTE_ADDR'];
$time = time();
// get name from DB
$query1 = mysqli_query($db, "select * from channels WHERE active=1 AND `playid` = '$id' LIMIT 1");
while($row = mysqli_fetch_assoc($query1))
{
$name = $row["name"];
}
// insert the entry
$query = mysqli_query($db, "INSERT INTO log (chname, chid, ip, time)
VALUES ('$name', '$id', '$ip', '$time')");
} else {
echo '<p>The Id is not vallid</p>';
}
} else {
echo '<p>This page is protected</p>';
}
感谢所有的帮助!你的家伙是最好的! &LT; 3
答案 1 :(得分:0)
没有完整的代码,但根据你的拥有,这是我的建议。
我会将$row["name"]
作为参数发送到您的函数以及链接。所以它变成了
changeVideo('<?=$row["link"] ?>','<?=$row["name"] ?>');
创建一个单独的php文件,比如说... infoSaver.php
此文件将具有将名称和时间戳保存到db所需的所有逻辑。您将从网址字符串$_GET['name']
获取名称,日期只是time()
。
将ajax调用放入函数
function changeVideo(filename,name) {
// here is the ajax call
xmlhttp=new XMLHttpRequest();
xmlhttp.open("GET","infoSaver.php?name=" + name,true);
xmlhttp.send();
var vlc = document.getElementById("tv");
var options = [":http-user-agent=Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25"];
var URL = filename;
var AddVid = vlc.playlist.add(URL, "", options);
vlc.playlist.playItem(AddVid);
}
这是大多数应用需要实施的简单解决方案