2016-08-10 12 views
-1

私はajax crud tableを持っています。私は編集して表示したいときに完全にうまく動作します(正しい情報でモーダルポップアップ)。今私は新しいユーザーを挿入するモーダルを提出するとき、私はphpとajaxから利用可能なデータがないと言うエラーが発生しますが、私はPHPでvar_dumpを実行すると、値を示しています。私は、値が投稿されているかどうかをチェックするための条件を持っています。投稿されたデータをphp変数に代入する必要があるのであれば、そうでなければfalseを返します。Ajax Crud Return Errorメッセージ

問題は関係なく、私はそれは常にこれらは私のvar_dumpある

PHPコード

<?php  
var_dump($_POST); 
$balance = $nextdate = $error = $action = $interest_id = ""; 
$valid = true; 
if(isset($_POST['balance']) && empty($_POST['balance'])) 
{ 
    $balance = ['balance']; 
} 
else 
{ 
    $valid = false; 
    $error .= "* balance is required.\n"; 
    $balance = ''; 

} 

if(isset($_POST['nextdate']) && empty($_POST['nextdate'])) 
{ 
    $nextdate =$_POST['nextdate']; 
} 
else 
{ 
    $valid = false; 
    $error .= "* date is required.\n"; 
    $accountnumber = ''; 
} 


if(isset($_POST['interest_id']) && empty($_POST['interest_id'])) 
{ 
    $interest_id = $_POST['interest_id']; 
} 
else 
{ 
    $valid = false; 
    $error .= "* email is required.\n"; 
    $interest_id = ""; 
} 

?> 

のAjaxコード

if(valid == true) 
      { 
       var form_data = { 
        balance : balance, 
        nextdate : nextdate, 


        action : action, 
        interest_id : interest_id 
       }; 

       $.ajax({ 
        url : "insert.php", 
        type : "POST", 
        data : form_data, 
        dataType : "json", 
        success: function(response){ 
         if(response['valid']==false) 
         { 
          alert(response['msg']); 
         } 
         else 
         { 
          if(action == 'add') 
          { 
           $("#add_new_user_modal").modal('hide'); 
           html += "<tr class=user_"+response['interest_id']+">"; 
           html += "<td>"+response['interest_id']+" </td>"; 
           html += "<td>"+response['balance']+" </td>"; 
           html += "<td>"+response['nextdate']+" </td>"; 


           html += "<td><a href='javascript:void(0);' onclick='edit_user("+response['interest_id']+");'><i class='glyphicon glyphicon-pencil'></i></a>&nbsp;&nbsp;&nbsp;&nbsp;<a href='javascript:void(0);' onclick='delete_user("+response['bank_id']+");'><i class='glyphicon glyphicon-trash'></i></a></td>"; 
           html += "<tr>"; 
           $("#usersdata").append(html); 
          } 
          else 
          { 
           window.location.reload(); 
          } 
         } 
        } 
       }); 
      } 
      else 
      { 
       return false; 
      } 
     }); 

を掲載しているデータにもかかわらず、偽などの条件を返す何をすべきかではありません結果

array(4) 
{ ["balance"]=> string(8) "50000.00" 
["nextdate"]=> string(10) "2016-08-18" 
["action"]=> string(4) "edit" 
["interest_id"]=> string(19) "[email protected]" } 
+0

なぜそれらのポスト値を空の値でテストするのですか?その空の値を使用するのはなぜですか?それは意味がない、申し訳ありません。代わりに '!empty(...)'を使いたいので、投稿された値が実際に空であれば、post値の使用法だけを_skip_したいので、否定です。あなたのロジックはボルケーです。 – arkascha

+0

こんにちはarkascha私は変更を加えたが、まだfalseを返す... PHPファイルの応答はこの{"有効":偽、 "msg": "残高が必要です\ n *日付は必須です。 \ n "} – codex

+0

奇妙に聞こえます。 '$ _POST'スーパーグローバル変数のダンプを質問に追加することをお勧めします。注:ここでコメントに追加しないでください。あなたの質問の下に '編集 'ボタンがあります。 _Use it._ – arkascha

答えて

0

テストが間違っています。あなたは空白の値を受け入れます。それは価値があるときに失敗する理由です。

if(isset($_POST['balance']) && empty($_POST['balance'])) 

if(isset($_POST['balance']) && !empty($_POST['balance'])) 
+0

こんにちはジェイソン、応答ありがとう...私は変更を加えましたが、それでもfalseを返します....私は私の応答をチェックするときに " :false、 "msg": "残高が必要\ n *日付が必要\ n"} " – codex

-1

ので、私はついにそれを考え出ししなければならない、問題は '== ''' を追加したif文

オリジナル

if($action=='add') 

に変更された

if($action = 'add') 
+1

uhm ...いいえ... $ action = '追加'; if(true)... '確かにそれはあなたが望むものではありません.... –

+0

' = 'はPHPの_assignment_(そして他のほとんどの言語)ですが、' == 'は_comparison_です。 – arkascha