PHP - 将javascript变量发送到.PHP脚本

时间:2012-02-23 12:47:51

标签: php javascript

所以,不完全确定这是否正确,但是,这是我的php doc:connect.php

  <?php
mysql_connect("timereliefusers.db.8956371.hostedresource.com", "timereliefusers", "User1!db") or die(mysql_error());
mysql_select_db("timereliefusers") or die (mysql_error());


    $choice =(int) $_GET["choice"];

    switch ($choice) {
        case 1:
        mysql_query("UPDATE poll1 set choice1 = choice1 + 1");
        break;
        case 2:
        mysql_query("UPDATE poll1 set choice2 = choice2 + 1");
        break;
        case 3:
        mysql_query("UPDATE poll3 set choice3 = choice3 + 1");
        break;
    }
}

?>

然后,我在这里向php doc发送一个AJAX请求:

$(document).ready(function(){       
    var choice = 0;

    $("#s1main div").click(function(){
        $("#s1main div").removeClass("buttonclicked");
        $(this).addClass("buttonclicked");

        if ($(this).attr("id") == "choice1"){
            choice = 1;
        }

        if ($(this).attr("id") == "choice2"){
            choice = 2;
        }

        if ($(this).attr("id") == "choice3"){
            choice = 3;
        }

        xmlhttp.open("GET", "connect.php?choice=" + choice, true);
        xmlhttp.send();
        alert("Variables passed");          

    });

请告诉我有关这两份文件的任何错误,谢谢 - Chris

注意:这不会超过警报(“传递的变量”);由于一些奇怪的原因,有人可以解释为什么会发生这种情况吗? AJAX调用一定有问题。

1 个答案:

答案 0 :(得分:1)

看起来你永远不会向你的剧本发送选择...你应该做这样的事情:

PHP:

<?php

mysql_connect("db.host", "username", "password") or die(mysql_error());
mysql_select_db("timereliefusers") or die (mysql_error());


$choice = (int) $_GET["choice"];

switch ($choice) {
    case 1:
    mysql_query("UPDATE poll1 set choice1 = choice1 + 1");
    break;
    case 2:
    mysql_query("UPDATE poll1 set choice2 = choice2 + 1");
    break;
    case 3:
    mysql_query("UPDATE poll3 set choice3 = choice3 + 1");
    break;
}
?>

JAVASCRIPT

$("#next").click(function(){
    if (choice != 0) {
            xmlhttp.open("GET", "connect.php?choice=" + choice, true);
            xmlhttp.send();
        }
    });