2017-12-11 6 views
0

ユーザーが「追加」ボタンをクリックすると、データをデータベースに挿入します。私はjqueryのを使用して値を得た:ここ は、jQueryのコードです:

$.post('process.php', 
     { 
      name: 'aaaaa', 
      id: '1' 
     }, function(data) { 
      alert(data); 
    }); 

そしてここでは、PHPコード:

このコードが実行されることはありません!

if((!empty($_POST['name']))&&(!empty($_POST['id']))){ 
     $nomp = $_POST['name']; 
     $idtp=$_POST['id']; 
     echo $nomp; 
     $conn = dbConn(); 
     $add="Insert into prod(nomp,idtp) values ('".$nomp."',".$idtp.") "; 
     $conn->query($add); 
     $conn=null; 
} 

この問題を解決するにはどうすればよいですか。

+0

あなたは間違った方法で空の関数を使用しています。 –

+0

issetも私にとってはうまくいかず、空の関数を持つprobは何ですか? –

+0

実際のリクエストをブラウザのdevツールネットワークで調べて、送信されたものとステータスを確認します。両端にエラー処理を追加します – charlietfl

答えて

0

設定されている場合、私はいつもの代わりに空の、検証したい:

if(isset($_POST['name'])&&isset($_POST['id'])){ 
    //then in here I throw a foreach validating and sanitizing every required field in case that everyone are 
}else{ 
    //throw error 
} 

あなたがAjax投稿を使って作業しているときには、少なくともテストやデバッグをすることが非常に重要だと思います。このエラーを素早く破棄することができます方法。

これがあなたに役立つかどうか教えてください!

+0

でも!空もあります –

+0

もちろんですが、最初にチェックが設定されているかどうかを確認すると、変数ではなく、ポストではない場合には「未定義」エラーが回避されます(これは、それが空であればそれを検証します –

-1

それは以下のようにする必要があります。

if((int)$_POST['id']>0 && strlen($_POST['name'])>0){ 
     $nomp = $_POST['name']; 
     $idtp=$_POST['id']; 
     echo $nomp; 
     $conn = dbConn(); 
     $add="Insert into prod(nomp,idtp) values ('".$nomp."',".$idtp.") "; 
     $conn->query($add); 
     $conn=null; 
} 

がjsの機能を変更します:

$.post('process.php', 
     { 
      name: 'aaaaa', 
      id: '1' 
     }, function(data) { 
      alert(data); 
    }, 'json'); 
+0

なぜ*「そうしなければならない」*そのようになりますか? – charlietfl

+0

空ではない関数は、渡された値だけでなく、さらに多くの場合でもカウントされます。 –

+0

ブロックが実行されない場合は、別のものを試してみることをお勧めします。 –

0
あなたが第2の値($ idtp)の周りに引用符を置くことを忘れ

$add="Insert into prod(nomp,idtp) values ('".$nomp."',’".$idtp."’) "; 
関連する問題