2014-12-11 2 views
0

양식 제출과 관련하여 불만을 끼고 있습니다. 내 함수는 모두 (로그 파일을 통해 확인) 호출되지만 request -> post ('..')는 아무 것도 반환하지 않습니다. 나는이 두통을 푸는데 도움이되는 사람에게 영원히 감사 할 것입니다.php-form이 데이터를 제출하지 않았습니다.

PHP 파일이 템플릿을로드하고 데이터로 양식을 채 웁니다. 폼에는 클릭시 javascript function addAllToCartProject()를 호출하는 버튼이 있습니다. 이 함수는 초기 PHP 파일에서 addAll 함수를 호출합니다. 여기서 어디서나 폼에서 데이터를 얻으려고 시도합니다.

내가하고있는 코드는 OpenCart 모듈입니다.

템플릿 파일 ---> project_edit.tpl

<div id="tab-products" class="tab-content"> 
<form method="post" enctype="multipart/form-data" id="form2"> 

    <div class="buttons"><div class="left"> 
    <input type="button" value="<?php echo $button_add_products; ?>" id="pselect" class="button" /> 
    <input type="button" value="<?php echo $button_add_all_cart; ?>" id="addallltocart" onclick="addAllToCartProject();" class="button" /> 
    <input type="button" value="<?php echo $button_print; ?>" id="printproject" class="button" /> 
    </div></div> 
<div class="cart-info"> 
    <table> 
. 
. 
. 
</table> 
    <input type="hidden" name="akey" value="<?php echo $akey; ?>" /> 
     <input type="hidden" name="eid" value="<?php echo $eid; ?>" /> 
</form> 

</div> 

자바 스크립트 함수

function addAllToCartProject() { 
    $.ajax({ 
     url: 'index.php?route=account/projects/addAll', 
     type: 'post', 
     data: $('#form2').serialize(), 
     dataType: 'json', 
     success: function(json) { 
      $('.success, .warning, .attention, .information, .error').remove(); 

      if (json['error']) { 
       $('#notification').html('<div class="warning" style="display: none;">' + json['error'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>'); 

       $('.warning').fadeIn('slow'); 

       $('#cart-total').html(json['total']); 

       $('html, body').animate({ scrollTop: 0 }, 'slow'); 
      } else { 

       $('#notification').html('<div class="success" style="display: none;">' + json['success'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>'); 

       $('.success').fadeIn('slow'); 

       $('#cart-total').html(json['total']); 

       $('html, body').animate({ scrollTop: 0 }, 'slow'); 
      } 
     } 
    }); 
} 

PHP 파일 -> projects.php

. 
. 
. 
if (isset($this->request->get['project_id'])) { 
      $printlink = $this->url->link('projects/projects_print', 'project_id=' . $eid . '&akey=' . $akey); 
      if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/account/projects_edit.tpl')) { 
       $this->template = $this->config->get('config_template') . '/template/account/projects_edit.tpl'; 
      } else { 
       $this->template = 'default/template/account/projects_edit.tpl'; 
      } 
} else { ..............} 
. 
. 
. 






public function addAll() { 

    $this->language->load('checkout/cart'); 
    $this->language->load('account/projects'); 
    $this->load->model('account/projects'); 


    if (isset($this->request->post['eid'])) { 
     $eid = $this->request->post['eid']; 
    } else { 
     $eid = '0'; 
     $file="log.txt"; 
     $log=fopen($file,'a'); 
     fwrite($log,"\n eid is not set "); 
     fclose($log); 
    } 

    if (isset($this->request->post['akey'])) { 
     $akey = $this->request->post['akey']; 
    } else { 
     $akey = '0'; 
     $file="log.txt"; 
     $log=fopen($file,'a'); 
     fwrite($log,"\n akey is not set "); 
     fclose($log); 
    } 
    . 
    . 
    . 
} 
+0

코어 PHP보다는 일부 PHP 프레임 워크를 사용하는 것 같습니다. 귀하의 질문에 해당 프레임 워크를 언급하거나 태그하십시오. –

+0

당신 말이 맞아요. 이것이 OpenCart 모듈의 코드라고 언급 했어야합니다. – Anonymous

답변

0

이름을 지정하려고 할 수 있음 속성을 양식 요소에 추가하십시오 :

<div id="tab-products" class="tab-content"> 
<form method="post" enctype="multipart/form-data" id="form2"> 

    <div class="buttons"><div class="left"> 
    <input name = "products" type="button" value="<?php echo $button_add_products; ?>" id="pselect" class="button" /> 
    <input name = "cart" type="button" value="<?php echo $button_add_all_cart; ?>" id="addallltocart" onclick="addAllToCartProject();" class="button" /> 
    <input name = "print" type="button" value="<?php echo $button_print; ?>" id="printproject" class="button" /> 
    </div></div> 
<div class="cart-info"> 
    <table> 
. 
. 
. 
</table> 
    <input type="hidden" name="akey" value="<?php echo $akey; ?>" /> 
     <input type="hidden" name="eid" value="<?php echo $eid; ?>" /> 
</form> 

</div> 
+0

방금 ​​시도했는데 차이가 없습니다. 왜 실제로 그것을했을까요? 네 생각은 뭐니? – Anonymous

관련 문제