2016-05-18 9 views
-1

私は自分のデータベースに追加しようとしているhtmlからphpにデータを送信しようとしています。 私は何が間違っているのか分かりません。ここでなぜデータベースに追加できないのですか?

は、スクリプト内のコードです:

$("#addbtn").click(function(){ 
    var cityName=document.getElementById("cityField").value.toString(); 
    var countryName=document.getElementById("countryField").value; 
    var description=document.getElementById("descriptionField").value; 
    var touristTargets=document.getElementById("targetsField").value; 
    var costPerDay=parseInt(document.getElementById("costField").value); 
    $.ajax({ 
     dataType: "json", 
     type: "GET", 
     url: "getCities.php", 
     data: {limit:100,action:"add",cityField:cityField,countryField:countryField,descriptionField:descriptionField,targetsField:targetsField,costField:costPerDay}, 
     success: {function(msg) { 
     alert(msg.status); 
     }} 

    }); 

とPHPファイルで、この1:

$action= $_REQUEST["action"]; 
    if($action == "add"){ 
    $city=json_decode($_GET["cityField"]); 
    $country=json_decode($_GET["countryField"]); 
    $descript=json_decode($_GET["descriptionField"]); 
    $targets=json_decode($_GET["targetsField"]); 
    $cost=json_decode($_GET["costField"]); 
    $command="INSERT INTO vacantiondestinations(cityName,countryName,description,touristTargets,costPerDay) VALUES(?,?,?,?,?)"; 
    $stmt=$conn->prepare($command); 
    $stmt->bind_param("ssssi",$city,$country,$descript,$targets,$cost); 
    $stmt->execute(); 

    if($stmt) 
     echo json_encode(array('status'=>'success')); 
    else 
     echo json_encode(array('status'=>'failed')); 

    } 
+1

'IF($ _ GET [などとすることが'action'] == "add"){if($ action == "add"){'の代わりに{' –

+0

私は定義しました:$ action = $ _REQUEST ["action"];しかし、私はここにそれを追加することを忘れました – Noname

答えて

1

、コードをすべきか?

データ:{限界:100、アクション:、cityFieldを "追加":cityName、countryField:COUNTRYNAME、descriptionField:説明、targetsField:touristTargets、costField:costPerDay}、

+0

OH ...ありがとうございました。 – Noname

0

あなたはどこにでもJSONなどのデータを符号化するためには表示されませんので、ほとんどのあなたがjson_decode($_GET["somevalue"])に電話をかけたときに、あなたはNULLを得るでしょう。

json_decodeをJSON以外のものに実行しないでください。

+0

それでは、私は$ _GET ["field"]を使用しますが、それでも動作しません.. – Noname

1

は、あなたがこれらの変数を宣言しているので - (コードだけで、重要なものを表示するように切り捨てられ、彼らはあなたのデータ宣言に含まれる値すべきではない間違った変数名を使用してい

var cityName=... 
    var countryName=... 
    var description=... 
    var touristTargets=... 
    var costPerDay=... 

...data: {limit:100,action:"add",cityField:cityName,countryField:countryName,descriptionField:description,targetsField:touristTargets,costField:costPerDay}... 
関連する問題