2016-05-16 11 views
1

私はwordpress用のフォームビルダプラグインを作成しています。プラグインの設定では、ユーザーは受信者の電子メールアドレスを設定できます。このコードはclass-form-b​​uilder.phpファイルにあります。PHPはユーザーが入力したアドレスに電子メールを送信します。

phpメールハンドラであるclass-send-form.phpというファイルがあります。私はこのファイルにユーザーによって入力された電子メールアドレスを追加しようとしていますが、エラーを返しています。私は、ユーザーが入力した値を取得する前に、私はその作業をしようとして取得するためにハードコードされた電子メールアドレスを使用しています分で

class Layers_Form_Builder_Widget extends Layers_Widget { 

    ... 

    function send_to_email() { 
     return '[email protected]'; 
    } 

    ... 

} 

:私は、次のコードを持っているクラスフォームbuilder.phpで

はその後、クラス送る-form.phpに私は次のコードを持っている:

require_once('../../../../wp-load.php'); 

$layers_email_address = Layers_Form_Builder_Widget::send_email_to(); 

// if there are any errors in our errors array, return a success boolean of false 
if (!empty($errors)) { 
// if there are items in our errors array, return those errors 
$data['success'] = false; 
$data['errors'] = $errors; 

} else { 
parse_str($_REQUEST['formData'], $formFields); 
$html='<html><body>'; 
foreach ($formFields as $key => $value) { 
    $html .= '<p><label>' . $key . ' :</label> ' . $value . '</p>'; 
} 
$html .='</body></html>'; 
$to = $layers_email_address; 
$subject = "Form Submission"; 
$txt = $html; 
$headers = "From: <".$to.">". "\r\n"; 
$headers .= "MIME-Version: 1.0\r\n"; 
$headers .= "Content-Type: text/html; charset=ISO-8859-1"."\r\n"; 
mail($to,$subject,$txt,$headers); 

// if there are no errors process our form, then return a message 

// show a message of success and provide a true success variable 
$data['success'] = true; 
$data['message'] = 'Success!'; 
} 

// return all our data to an AJAX call 
echo json_encode($data); 

を私は送る]をクリックしたときにしかし、私はちょうど(「フォームを送信する際にエラーが発生しました」)エラーが出ます。

電子メールアドレスの値をclass-form-b​​uilder.phpから取得し、class-send-form.phpで使用するにはどうすればよいですか?

答えて

2

class-send-form.phpで使用される関数名はsend_email_to()であり、関数名はclass-form-builder.phpであり、send_to_email()です。

一度修正すればうまくいくと思います。

+0

ああ、どうしたらそれを逃したのですか?それは月曜日です。これを指摘してくれてありがとう、それは今動作します –

+0

@SamSkirrow時々我々はちょうど小さな細部を欠場する。 :D –

関連する問題