[英]Javascript to run PHP function to update/insert SQL
我遇到了一些小问题,我有这个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>
如何将名称和时间戳记入数据库? : - /
首先要感谢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>';
}
谢谢所有的帮助! 你们是最好的! <3
没有完整的代码,但是根据您的所拥有的,这是我的建议。
我将$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);
}
这是一个简单的解决方案,多数应用将需要实施
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.