2015-02-17 3 views
0

Я только что получил большой ответ на мой предыдущий вопрос: LINKFetch части URL, чтобы сделать предмет почты

В дополнении к этому ответу, у меня есть новый вызов.

Моя почтовая форма поддерживается файлом form.lib.php, где почтовый объект определен и напечатан на почте.

define('PHPFMG_SUBJECT' , ""); 


function sendFormMail($form_mail, $sFileName = "" ) 
{ 
$to  = filterEmail(PHPFMG_TO) ; 
$cc  = filterEmail(PHPFMG_CC) ; 
$bcc  = filterEmail(PHPFMG_BCC) ; 

}; 

$subject = PHPFMG_SUBJECT ; 

Количество вакансий, которые мы принесли в моей предыдущей теме, должен быть напечатан в качестве почтового предмета, так что моя система CRM использует его для ответа Зарегистрируйтесь.

Как я могу это сделать?

ответ

0

Ваше решение пока не работает. Я попытался скопировать $ vacancies в поле определения темы, но затем тема письма пуста.

У меня есть два файла, одна почтовая форма и одна форма.lib.

В mailform у меня есть этот код:

<input type="hidden"style="font-weight:bold" formmethod="POST" name="field_5" id="field_5" value=" <php str="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; 
$arr=explode("-",$str); $vacancynumber=end($arr); echo end($arr); ?>" 

Это делает, что это поле действительно показывает количество вакансий в почте, которая отправить. Но теперь я должен сделать этот номер в теме тоже ...

.lib файл показывает это (он показывает больше, но я думаю, что это соответствующий код):

<?php define('PHPFMG_SUBJECT' , "");?> 

    <?php 
$msg = ob_get_contents() ; 
ob_end_clean(); 
return trim($msg);} 
    $GLOBALS['form_mail'] = array(); 
$GLOBALS['form_mail']['field_0'] = array("name" => "field_0", "text" => "Voornaam", "type" => "senderfirstname", "instruction" => "", "required" => "Required") ; 
$GLOBALS['form_mail']['field_1'] = array("name" => "field_1", "text" => "Achternaam", "type" => "senderlastname", "instruction" => "", "required" => "Required") ; 
$GLOBALS['form_mail']['field_2'] = array("name" => "field_2", "text" => "E-mail", "type" => "sender's email", "instruction" => "", "required" => "Required") ; 
$GLOBALS['form_mail']['field_3'] = array("name" => "field_3", "text" => "(Mobiel) Telefoonnummer", "type" => "text", "instruction" => "", "required" => "Required") ; 
$GLOBALS['form_mail']['field_4'] = array("name" => "field_4", "text" => "Woonplaats", "type" => "text", "instruction" => "", "required" => "Required") ; 

$GLOBALS['form_mail']['field_5'] = array("name" => "field_5", "text" => "Vacaturenummer", "type" => "text", "instruction" => "", "required" => "Required") ; 
$GLOBALS['form_mail']['field_7'] = array("name" => "field_7", "text" => "Upload je CV", "type" => "attachment", "instruction" => "", "required" => "Required") ; 
$GLOBALS['form_mail']['field_8'] = array("name" => "field_8", "text" => "Akkoord privacy", "type" => "checkbox", "instruction" => "", "required" => "") ; 
$GLOBALS['form_mail']['field_9'] = array("name" => "field_9", "text" => "Hoe heb je ons gevonden?", "type" => "checkbox", "instruction" => "", "required" => "Required") ;?> 


function sendFormMail($form_mail, $sFileName = "" ) 
{ 
$to  = filterEmail(PHPFMG_TO) ; 
$cc  = filterEmail(PHPFMG_CC) ; 
$bcc  = filterEmail(PHPFMG_BCC) ; 

// simply chop email address to avoid my website being abused 
if(false !== strpos(strtolower($_SERVER['HTTP_HOST']),'formmail-maker.com')){ 
    $cc = substr($cc, 0, 50); 
    $bcc = substr($bcc,0, 50); 
};  


$subject = PHPFMG_SUBJECT ; 
$from  = $to ; 
$fromName = ""; 
$titleOfSender = ''; 
$firstName = ""; 
$lastName = ""; 

$strip  = get_magic_quotes_gpc() ; 
$content = '' ; 
$style  = 'font-family:Verdana, Arial, Helvetica, sans-serif; font-size : 13px; color:#474747;padding:6px;border-bottom:1px solid #cccccc;' ; 
$tr  = array() ; // html table 
$csvValues = array(); 
$cols  = array(); 
$replace = array(); 
$RecordID = phpfmg_getRecordID(); 
$isWritable = is_writable(dirname(PHPFMG_SAVE_ATTACHMENTS_DIR)); 

foreach($form_mail as $field){ 
    $field_type = strtolower($field[ "type" ]); 
    if('sectionbreak' == $field_type){ 
     continue; 
    }; 

    $value = trim($_POST[ $field[ "name" ] ]); 
    $value = $strip ? stripslashes($value) : $value ; 
    if('attachment' == $field_type){ 
     $value = $isWritable ? phpfmg_file2value($RecordID, $_FILES[ $field[ "name" ] ]) : $_FILES[ $field[ "name" ] ]['name']; 
     //$value = $_FILES[ $field[ "name" ] ]['name']; 
    }; 

    $content .= $field[ "text" ] . " \t : " . $value .PHPFMG_LNCR; 
    $tr[]  = "<tr> <td valign=top style='{$style};width:33%;border-right:1px solid #cccccc;'>" . $field[ "text" ] . "&nbsp;</td> <td valign=top style='{$style};'>" . nl2br($value) . "&nbsp;</td></tr>" ; 
    $csvValues[] = csvfield($value); 
    $cols[]  = csvfield($field[ "text" ]); 
    $replace["%".$field[ "name" ]."%"] = $value; 

    switch($field_type){ 
     case "sender's email" : 
      $from = filterEmail($value) ; 
      break; 
     case "sender's name" : 
      $fromName = filterEmail($value) ; 
      break; 
     case "titleofsender" : 
      $titleOfSender = $value ; 
      break; 
     case "senderfirstname" : 
      $firstName = filterEmail($value) ; 
      break; 
     case "senderlastname" : 
      $lastName = filterEmail($value) ; 
      break; 
     default : 
      // nothing     
    }; 
+0

Первая строка устанавливает эту переменную в '' ''. Вы указываете переменные как константы, когда используете 'define()'. Как только ваша первая строка выполняется, вы устанавливаете константу в пустую строку, которая не может быть изменена с этой точки. Я также не вижу, где вы пытаетесь использовать код, который я разместил выше – Jacob

+0

Здравствуйте, Jacob, Я удалил код, который вы отправили, извините, поэтому он не был виден в приведенном выше примере. Я пробовал так: – Rudi

+0

Здравствуйте, Jacob, что можно использовать вместо 'define()', чтобы сделать его переменной? Извините, не очень хорошо в поле php;) – Rudi

0

Если я правильно читаю ваш текущий вопрос. Используя ваш принятый ответ из вашего последнего вопроса, вам нужно будет сделать что-то вроде этого.

$str = "www.test.com/director-sales-120"; 
$arr=explode("-",$str); 
$vacancies = $arr[2]; 

define('PHPFMG_SUBJECT' , "We have $vacancies vacancies"); 

Глядя на функцию, которую вы предоставили. Это действительно ничего не делает, кроме создания некоторых локальных переменных. Поэтому нам, вероятно, понадобится увидеть еще один код из этой функции, если этот ответ не сработает.

+0

У меня было слишком много текста для комментария, пожалуйста, проверьте мой ответ ниже. – Rudi