2012-08-07 2 views
1

젠드 프레임 워크에서 이전에 양식을 작성하지 않았습니다. 따라서 .phtml 페이지가 올바르게 설정되어 있고 양식으로 작업하고 있습니다. 나는 잘 작동하는 컨트롤러 파일과 mailer.php 파일을 가지고있다. 양식은 javascript로 유효성을 검사하고 HTML 전자 메일을 사용자에게 보냅니다. 이 모든 것이 잘 작동합니다. 나는 보통 가장 쉬운 일에 매달린다.젠드 프레임 워크 - 이메일의 제목란에 변수가 있음

다음은 제목이 설정되는 내 컨트롤러 파일의 스냅 샷입니다.

$arrData = $this->_request->getPost(); 
    if (count($arrData) > 0) { 
    $arrErrors = array(); 
    $objMailer = mymailer($arrData); 
    $objMailer->setSubject('Subject Line'); 

잘 작동하지만 제목에 변수 (또는 $ _POST 필드)를 포함하고 싶습니다. 동일한 페이지에 모든 것을 포함하는 표준 PHP 폼을 여러 번 사용했습니다. 제 문제는 .phtml 페이지가 메일러 PHP 스크립트를 실행하는 내 컨트롤러 파일에서 내 공개 기능에 양식 작업을 게시하고 있다고 생각합니다.

내가 원하는 $ _POST 필드를 잡을 수 있는지 알아보기 위해 $ arrData, 아무것도 인쇄하지 않으려 고 시도했습니다.

어떻게 원래 .phtml 페이지에서 $ _POST 필드를 가져올 수 있습니까? 나는 그것이 여기의 문제라고 생각한다.

도움을 주셔서 감사합니다. 어쩌면 휴식을 취하고 돌아와서 도움을 청해야합니다.

여기에 배열을 인쇄 할 수있었습니다 : print_r ($ objMailer);

mymailer Object 
(
[_strRecipient:mymailer:private] => 
[_strBcc:mymailer:private] => 
[_strSubject:mymailer:private] => 
[_strEmail:mymailer:private] => 
[_arrData:mymailer:private] => Array 
    (
     [full_name] => brian 
     [invitee_name] => test 
     [email] => [email protected] 
     [captcha] => kqd2q9 
    ) 

[_arrAttachments:mymailer:private] => 
[_blnCaptcha:mymailer:private] => 1 
[_arrErrors:mymailer:private] => Array 
    (
    ) 

) 

full_name 필드를 가져와야합니다. full_name 필드 만 에코/프린트 할 수 있습니까?

답변

2

컨트롤러에서 POST 변수를 가져 오는 방법에는 몇 가지가 있습니다.

기본 방법. getParam 함수는 $ _POST의 값을 반환하거나

$id = $this->_request->getParam('id', 0) 

$post = $this->_request->getPost() 

나는 보통 이것을 사용 ... [ 'ID']/$ _ GET [ 'ID'] 0

즉, 작동 $ arrData에 위해서 var_dump를 수행하고 그 결과를 표시하지 않는 경우

$objMailer->setSubject($arrData['full_name']); 

보십시오.