gpt4 book ai didi

php - ajax 和 php 标志脚本 - 设置和检查 cookie 并使用数据库

转载 作者:行者123 更新时间:2023-11-29 14:47:41 24 4
gpt4 key购买 nike

正如标题所述,我正在寻找一个标志脚本,解释如下:

它应该像任何视频网站标志脚本一样:单击一次小灰色标志,它会变成彩色,并且您无法再次单击它。它应该在 ajax 中完成,因为我不希望我的用户仅仅因为他错误地标记了我网站上的某个项目而重新加载他的页面(并重新启动所有事件)。

后面的 php 不应该添加来自同一用户的多个标志 - 我认为如果它检查 cookie,如果没有设置 -> MySQL 中的增量字段并设置 cookie,如果设置 -> 忽略,那将是一个好主意。

这真的很紧急,因为我对 ajax 和 Javascript 完全是菜鸟,我需要在周二之前完成......

我需要这个的原因是我真的想知道它是如何完成的,因为我们在学校学习的一个项目有类似的东西,我的作业是想出一个可以完成同样事情的解决方案,而不需要查看初始源代码。我想到了一个解决方案,但没有时间实现它,因为这周以及下周,我有大量的考试,我真的不想错过任何......

预先感谢您给我的任何帮助!

干杯!

最佳答案

发出一个 ajax 请求,并让其进行 php 处理,完成后将返回结果发送到您的页面。

我给你做了一个模板。我想你可以自己做 PHP 吗?

function setFlag(state){
var ajaxRequest; // The variable that makes Ajax possible!
//Set AjaxRequest for all Major browsers, nothing to do here, this is standard
try{
// Opera 8.0+, Firefox, Safari
ajaxRequest = new XMLHttpRequest();
} catch (e){
// Internet Explorer Browsers
try{
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try{
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e){
// Something went wrong
alert("Your browser is lame!");
return false;
}
}
}
// When the Ajax Request waits for php you get some status codes, everything is done when it reaches 4. Add your javascript events etc here...
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState < 4){
//document.getElementById('ajaxCatchbox').innerHTML = "Load...";
}
if(ajaxRequest.readyState == 4){
// Some Javascript to change your flag colour image
}
}

// this is here your php happens without page reload. (In the php file)
var queryString = "?state=" + state;
ajaxRequest.open("GET", "ThePhpFileThatDoesYourDatabaseHandling.php" + queryString, true);
ajaxRequest.send(null);
}

PhP 会处理您的数据库并将正确的 var 设置为 1,以便您知道单击了哪个标志。每次刷新页面时,您都会使用此变量来显示单击了哪个标志。当还没有点击任何标志时,您将添加此函数并在 Javascript 中动态更改它,因为此时您还没有重新加载。

我在函数中添加了类似状态的内容,因为我认为您可能想知道单击了哪个标志,但是 ofc 您可以添加 ID、我们的标志号等...并且您可以使用查询字符串将其发送到 php...

关于php - ajax 和 php 标志脚本 - 设置和检查 cookie 并使用数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6552170/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com