저는 javascript, jQuery 및 PHP를 사용하는 WordPress 페이지를 작성하고 있습니다. 전달 된 값 중 QRcode를 페이지에 생성합니다. 생성 된 후, data : image/png; base64 형식의 QRcode의 src를 추출합니다. 문제는 메서드를 사용하지 않고이 문자열을 PHP에 전달하는 것입니다. 페이지가로드 될 때 전송되는 HTML 형식의 전자 메일을 양식화해야합니다. AJAX에 익숙하지 않지만 PHP 함수에 값을 전달할 수있는 URL() 메서드가 있다는 것을 알고 있습니다.
여기에 필자가 작성한 코드가 있습니다 (예, 중복되고 성급한 ...) : 도착하면 장치에 저장하고 표시하십시오!
<div id="qrcode"></div>
<form method="post">
<input type="text" name="image" id="image"></input>
<input type="submit" value="Send to e-mail"></input>
</form>
[gravityform id="3" title="false" description="false"] //Hidden form with values for QRcode
<script type="text/javascript" src="http://yourjavascript.com/10124121272/qrcode.js"></script>
<script>
var email = document.getElementById("input_3_1").value;
var date = document.getElementById("input_3_2").value;
var type = document.getElementById("input_3_3").value;
var id = document.getElementById("input_3_4").value;
var qrcode = new QRCode("qrcode", {
text: "Email of buyer: "+email+"; Type of an offer: "+type+"; Date of purchase: "+date+"; ID: "+id,
width: 256,
height: 256,
colorDark : "#000000",
colorLight : "#ffffff",
correctLevel : QRCode.CorrectLevel.H
});
jQuery(document).ready(function($) {
var image = jQuery('img[alt="Scan me!"]').attr('src');
jQuery('#image').val(image);
});
</script>
[insert_php]
add_filter('wp_mail_content_type', 'wpdocs_set_html_mail_content_type');
$to = $_GET[email];
$image = Some magical approach to get base64 image from form name="image"
$subject = 'Subject of an email';
$message = '<html><head><body>
<h1>Hello! Here is your QRcode!</h1>
<img src=$image />
</body></head><html>'
wp_mail($to, $subject, $message);
remove_filter('wp_mail_content_type', 'wpdocs_set_html_mail_content_type');
function wpdocs_set_html_mail_content_type() {
return 'text/html';
}
[/insert_php]
누구든지 다운 된 이유는 알 수 있습니까? –
나는 당신에게 다운 폰트를하지 않았지만, 말 그대로 문제는 말도 안되기 때문이라고 생각한다. 서버에 무언가를 보내지 않고 서버로 보낼 수는 없습니다. 나는 당신이 무엇을보고 있는지 알고 있고 당신에게 지금 대답을 쓰고 있다고 생각합니다 ... – Brad
나는 투표를하지 않았지만 AJAX가 필요한 모든 것을하기 위해 PHP 스크립트에 데이터를 보낼 수 있다는 것이 맞습니다. –