2016-04-07 18 views
-1

私はajaxとphpを使用しています。私は毎回私がajax呼び出しを行うたびに配列を追加したいと思います。しかし、それは動作していません。 これらは私のコードです:これはit.PlaseのPHP側はphp array_pushは、ajax呼び出しの後に配列を追加しません。

<?php 
     $questionArr = array(); 
    if($_POST['image_form_submit']){ 
      array_push($questionArr,$questionNum); 

      if(is_array($questionArr)){ 
        foreach($questionArr as $val) { 

        if ($val == $questionNum){ 
         $response['response']= "exist"; 
          echo json_encode($questionArr); 
        }else{ 
         $response['response']= "question does not exist"; 
         echo json_encode($response); 
         } 
        }  
      }else{ 
         $response['response']= "not array"; 
         echo json_encode($response); 
      }  
    } 
    ?> 

を助けるであり、これはそれはあなたを助けるかもしれ

  <form    method="post"name="multiple_upload_form"id="multiple_upload_form" enctype="multipart/form-data" action="php_work/test.php"> 

     <input type="hidden" name="image_form_submit" value=""/> 
     <input type="file" name="images[]" id="images" multiple > 
     </form> 
+0

<?php $ questionArr = array(); IF($ _ POST [ 'image_form_submit']){ \t \t \t array_push($ questionArr、$ questionNum)。 \t \t($ヴァル== $ questionNum){ \t \t \t $応答[ '応答']もし(IS_ARRAY($ questionArr)){ \t \t foreachの($ヴァルとして$ questionArr){ \t \t場合= "存在"; \t \t \t echo json_encode($ questionArr); \t \t} else { \t \t \t $ response ['response'] = "質問は存在しません"; \t \t \t echo json_encode($ response);他 \t \t} \t} \t \t \t} { \t \t $応答[ '応答'] = "ないアレイ"。 \t \t \t echo json_encode($ response); \t} \t \t \t \t } ?> – trinidado

+2

コメントを追加するのではなく、そのコードを質問に編集する必要があります:) – Jacob

+0

'console.log()'出力は有効ですか? ajaxの呼び出しも提出されますか?あなたのフォームは実際にPOSTかGETフォームですか? –

答えて

0

私のHTMLです

   $('#multiple_upload_form' +count).ajaxForm({ 
        target:'#images_preview'+count, 

        beforeSubmit:function(e){ 
        console.log("gud to go"); 
      }, 
      success:function(data){ 
       console.log(data); 
        console.log("succeded"); 
      }, 
      error:function(data){ 
        console.log("failde"); 
      } 
      }).submit(); 

PHP:

<?php 
$questionNum = 1; // Or from anywhere you are getting data into it 
$questionArr = array(); 
$response['response']= "not array"; // Giving Default value 

if($_POST['image_form_submit']){ 

    $questionArr[] = $questionNum; 
    if(!empty($questionArr)){ 

    foreach($questionArr as $val) { 

     if ($val == $questionNum){ 
     $response['response'] = "exist"; 
     }else{ 
     $response['response']= "question does not exist"; 
     } 

    } 

    } 

} 

echo json_encode($response); 
exit; 
?> 
+0

$ questionNum = $ _POST ['image_form_submit'];これは質問番号が – trinidado

+0

から来ている場所で、動的でなければなりません。新しい質問番号が配列に存在しない場合は、配列を追加します。それ以外の場合はエラーを返します。ありがとう – trinidado

+0

@トリニダード '$ _POST ['image_form_submit']'であなたが受け取っているデータのタイプはコメントに貼り付けることができますか? – hmd

0

最初に:ifは、elseなので、値を返さないPHPのステートメントです。したがって、$_POST['image_form_submit']が偽の場合、何もechoはありません。

第2:array_push($questionArr, $questionNum);ここで、$questionNumをPHPスクリプトで定義しましたか?

第3回:あなたのJS:$('#multiple_upload_form' +count)に、数字のあるIDを持つ要素を参照しようとしていますか?あなたのHTMLにこのような要素はありません。私はまた、countを定義するJSコードには表示されません。

短い答え:PHPとJSコードの両方でエラーをチェックしてください。

+0

$ questionNum = $ _POST ['image_form_submit'];これは、質問番号が – trinidado

+0

から来るところです.JSについては、カウントを気にしないでください。それはそれを取り出した。ありがとう – trinidado

関連する問題