2012-02-23 8 views
0

.PHPスクリプトの上javascriptの変数を送信するが、が、私のPHPのドキュメントは、次のとおりです。connect.phpPHP - ここでは、これが正しいかどうか全くわからない、だから、

<?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; 
    } 
} 

?> 

その後、私は、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");   

    }); 

ありがとう、これら二つの文書に関するすべてのエラーを私に教えてください - クリス

注:ここではPHPのドキュメントにこのアラートを過ぎて取得していません(「VAR iables passed ");何らかの奇妙な理由から、誰かがそれがどうして起こるのかを説明することができますか? AJAX呼び出しに何か問題があるはずです。

+2

あなたが削除したい場合がありますあなたのユーザー名とパスワードはこれから他人には見えないようにします – BenOfTheNorth

+5

jsスクリプトで 'jQuery'を使用していると仮定すると、なぜあなたは'xmlhttp'ではなく' '.get'または' $ .ajax'ですか? – package

+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(); 
     } 
    }); 
+0

通知 '$ choice =(int)$ choice'これは、あなたが誰かに文字列を盗み込ませないようにするために、通常は' mysql_real_escape_stiring() 'を持っています。また、javascriptに注意してください。 "connect.php?choice =" + choice " –

+0

彼の接続情報を編集してください - 彼は今メインポストでそれを行っていますので、ここに表示されています:) – BenOfTheNorth

+0

それは今私のサーバー上にあります。私は変数を渡すときに何かが欠けていたことを知っていた、これはトリックを行う必要があります。 –

関連する問題