【问题标题】:catch data from javascript using json to make a query in PHP使用 json 从 javascript 中捕获数据以在 PHP 中进行查询
【发布时间】:2013-05-14 03:00:03
【问题描述】:

您好,我使用的是 javascript 教程中的代码,效果很好.. 它是星级评分系统,所以我可以询问我的用户,您的技能,他们可以使用此评分系统“回答”,....

所以我需要“捕捉”那个值..(使用 json?或者这就是我在这里读到的)最终将它插入到数据库中

我可以将这个值存储在 $_SESSION 上吗?.. 因为这就像我使用步骤公式一样好,..... 每个步骤都在会话中存储变量,所以在最后一步我使用 php 在mysql数据库。

正如您将看到的那样,数据已准备好发送:D 那太好了,但是,我如何捕获它,并将其存储在 $_SESSION 中。提前谢谢!!

我还假设我可以分配一个 ID 或其他东西以从一页发送多个费率,

这没有在代码中指定,而且我实际上用 javascript 很糟糕..(这就是为什么我在 stackoverlflow 上向所有有智慧的人询问)

这是来自评级系统的代码http://reignwaterdesigns.com/ad/tidbits/rateme/

/*
Author: Addam M. Driver
Date: 10/31/2006
*/

var sMax;   // Isthe maximum number of stars
var holder; // Is the holding pattern for clicked state
var preSet; // Is the PreSet value onces a selection has been made
var rated;

// Rollover for image Stars //
function rating(num){
    sMax = 0;   // Isthe maximum number of stars
    for(n=0; n<num.parentNode.childNodes.length; n++){
        if(num.parentNode.childNodes[n].nodeName == "A"){
            sMax++; 
        }
    }

    if(!rated){
        s = num.id.replace("_", ''); // Get the selected star
        a = 0;
        for(i=1; i<=sMax; i++){     
            if(i<=s){
                document.getElementById("_"+i).className = "on";
                document.getElementById("rateStatus").innerHTML = num.title;    
                holder = a+1;
                a++;
            }else{
                document.getElementById("_"+i).className = "";
            }
        }
    }
}

// For when you roll out of the the whole thing //
function off(me){
    if(!rated){
        if(!preSet){    
            for(i=1; i<=sMax; i++){     
                document.getElementById("_"+i).className = "";
                document.getElementById("rateStatus").innerHTML = me.parentNode.title;
            }
        }else{
            rating(preSet);
            document.getElementById("rateStatus").innerHTML = document.getElementById("ratingSaved").innerHTML;
        }
    }
}

// When you actually rate something //
function rateIt(me){
    if(!rated){
        document.getElementById("rateStatus").innerHTML = document.getElementById("ratingSaved").innerHTML + " :: "+me.title;
        preSet = me;
        rated=1;
        sendRate(me);
        rating(me);
    }
}

// Send the rating information somewhere using Ajax or something like that.
function sendRate(sel){
    alert("Your rating was: "+sel.title);
}

【问题讨论】:

    标签: php javascript sql rate


    【解决方案1】:

    sendRate() 函数中的alert 替换为对php 脚本的ajax 调用。为此,您需要使用 ajax 库(例如 jQuery)将值发布到您的服务器。 (见http://api.jquery.com/jQuery.post/

    例子:

    $.post('/path/to/php', {rating: sel.title}, function (data) {
        alert('Saved, server responded with' + data);
    });
    

    【讨论】:

    • 非常感谢,但是在 php $_SESSION = {rating: sel.title) 中捕获它的方法是什么,我知道它不是,我错过了这部分
    • 浏览器会向服务器提交一个POST请求。因此,您的 php 脚本将通过以下方式查看输入:$_POST['rating']。将值放入会话中:$_SESSION['rating'] = $_POST['rating']
    猜你喜欢
    • 1970-01-01
    • 2021-04-08
    • 1970-01-01
    • 2014-07-20
    • 2015-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-15
    相关资源
    最近更新 更多