jquery を使用して base64_image をフォームに送信し、顧客がプレビューできるようにそのページにエコーするという問題があります。そのフォームはお客様が情報を入力し、画像を再確認するためのものであるため、確認すると、入力したデータが私のメール アドレスに送信されます。ただし、画像はプレビュー セクションや電子メールにも表示できません。
base64_image は jquery を使ってデザイン画を描いているお客様です。あなたの参照のために以下のコードを見つけてください。
index.php
$('#send-button').click(function(){
fpd.createImage(true, true);
return false;
});
//the handler when the image is created
$('#fpd').bind('imageCreate', function(evt, canvas, base64Image) {
//send 64-bit encoded image url to php
$.post("php/form.php", { base64_image: base64Image }, function(data) {
//successful
if(data) {
//open product image a new window
console.log('Mail successfully sent!');
}
//failed
else {
console.log('Mail could not be sent');
}
} );
});
<a href="php/form.html" id="send-button" class="btn btn-info">send</a>
フォーム.php
<form name= "myForm" form action="send.php" method="post" onsubmit="return validateForm()">
<td align="right" valign="middle" class="text">Picture Preview:<img src="<?=$base64_str;?>"></img></td>
</form>
send.php
$base64_str = substr($_POST['base64_image'], strpos($_POST['base64_image'], ",")+1);
$to = 'xxx@gmail.com';//set here your receiving mail address
$subject = 'test'; //set here the mail subject
$bound_text = md5(date('r', time()));
$bound = "--".$bound_text."\r\n";
$bound_last = "--".$bound_text."--\r\n";
$headers = "From: xxx@yahoo.com.hk\r\n";//set here the sending mail address
$headers .= "MIME-Version: 1.0\r\n"
."Content-Type: multipart/mixed; boundary=\"$bound_text\"";
$message .= "If you can see this MIME than your client doesn't accept MIME types!\r\n"
.$bound;
$message .= "Content-Type: text/html; charset=\"iso-8859-1\"\r\n"
."Content-Transfer-Encoding: 7bit\r\n\r\n"
."Your message goes here\r\n" //set here the mail text
.$bound;
$message .= "Content-Type: image/png; name=\"mail_product.png\"\r\n"
."Content-Transfer-Encoding: base64\r\n"
."Content-disposition: attachment; file=\"mail_product.png\"\r\n"
."\r\n"
.chunk_split($base64_str)
.$bound_last;
if(mail($to, $subject, $message, $headers))
{
echo json_encode(1);
} else {
echo json_encode(0);
}
?>